我有一种情况,我在表上执行一些操作,称之为T和V.我已正确设置metatable,一切都按预期工作。问题是我通常不需要计算结果。所以不要写
for i=1,5 do
_=T+V
end
有没有办法让
for i=1,5 do
T+V
end
我没有使用Lua命令行,所以我不能只写= T + V。
答案 0 :(得分:6)
创建一个不执行任何操作并将其传递给它的函数:
function NOP() end
for i=1,5 do
NOP(T+V)
end
这另外用于记录您的意图,并且副作用就是您所追求的目标。
答案 1 :(得分:3)
查看syntax of Lua in extended BNF我没有看到构造表达式(exp)的方法,没有等号或其他东西。
只有4种情况可以使用表达式(exp):
指定一个值,例如p = exp
作为条件,例如while exp then
在函数调用中,即f(exp)
用于索引,即t[exp]