【问题标题】:Append value to table by "reference"通过“引用”将值附加到表中
【发布时间】:2020-09-08 17:05:46
【问题描述】:

我正在尝试向表/数组/列表添加一个值(我仍然不确定这些限制在 lua 中的位置)。

我知道我可以执行以下操作并且它有效

local argumentList = {};
table.insert(argumentList , 'hello I'm the first value0);

但是是否可以执行以下操作?

local argumentList  = {};
argumentList:insert('hello I'm the first value0);

如果可能的话,不必更改元表,因为我正在学习制作和插件,但它不允许这样做。 (或者说我做不到)

【问题讨论】:

  • local argumentList = {insert=table.insert}; argumentList:insert('hello I\'m the first value');
  • 谢谢,这是我一直在寻找的东西,虽然对于我目前使用的东西来说,感觉有点矫枉过正。

标签: lua lua-table


【解决方案1】:

是的,您可以这样做,但是您需要使用冒号 :

argumentList:insert('hello I'm the first value0);

这是因为通过冒号,我们向 Lua 表明对象是self

class.method(self,params)

等于:

object:method(params)

在这种情况下,self 已经在收集 object 作为值,因此不需要将其作为参数传递

【讨论】:

  • 这只有在argumentList 有一个insert 方法时才有效,也就是说,你需要argumentList.insert = table.insert 才能这样调用它。
猜你喜欢
  • 2018-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多