【发布时间】:2012-12-14 23:23:52
【问题描述】:
我有一种情况,我对表执行一些操作,将它们称为 T 和 V。我已经正确设置了元表,并且一切都按预期工作。问题是我通常不需要计算的结果。所以不要写
for i=1,5 do
_=T+V
end
有没有办法让自己拥有
for i=1,5 do
T+V
end
?
我没有使用 Lua 命令行,所以我不能只写 =T+V。
【问题讨论】:
-
你为什么要在不需要结果的地方进行计算?
-
@DeadMG 你没有理由不能说,重载表上的 + 运算符以使用第二个表中的数据修改传入的第一个表,尽管这看起来不太直观。跨度>
-
真正适合 Lua 风格的成员函数,而不是运算符重载。
-
是的,但能力是存在的。
-
@John: 1: 问题已得到解答。您可以通过语言手册确认答案; see the
stat ::=clause 显示该语言的法律声明是什么。 2: 道德与它无关;滥用运算符重载来违背程序员的期望(比如定义+来做减法,或者修改它的操作数),它只是糟糕的编程(除非你的目标是在Daily WTF 上出现。
标签: lua