Lua抛弃结果。

我有一个情况,在表T和V上执行一些操作。我已经正确设置了metatable,一切都按照预期进行。问题是,我通常不需要计算的结果。因此,是否有一种方法只需编写以下代码:for i = 1,5 do T + V end?我没有使用Lua命令行,因此我无法编写=T+V。

点赞
用户191733
用户191733

在查看Lua扩展BNF的语法时,我并没有看到可以构造没有等号或其他形式的表达式(exp)的方式。

只有四种情况可以使用表达式(exp):

  • 赋值一个值,例如p = exp

  • 作为条件,例如while exp then

  • 在函数调用中,即f(exp)

  • 用于索引,即t[exp]

2012-12-13 16:00:08
用户282536
用户282536

创建一个不做任何事情的函数并将其传递给它:

function NOP() end

for i=1,5 do
    NOP(T+V)
end

另外,这还有助于记录你的意图,表明你的目的是得到副作用。

2012-12-14 00:52:17