Lua 琐事答案 |
|
这取决于 a.b
是什么!
a = {}; b = {}; c = {} print(a,b,c) --> a,b,c a.b = function(...) print(...) end a:b(c) --> a,c mt = {} mt.__call = function(...) print(...) end a.b = setmetatable(b, mt) a:b(c) --> b,a,c a.b(a,c) --> b,a,c (identical)
此外,a
、c
和全局环境表可能会调用元方法,这些元方法也会调用函数。
2 3 2
1 4 6
--
符号不被解释为变量递减,而是被解释为注释的开始... ++
运算符在 Lua 中也不存在,但在这里不会产生错误,因为它在注释中!
请注意,问题中缺乏语法高亮实际上是故意的。
返回 LuaTrivia