Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果我设置__index的元表foo然后调用:
__index
foo
print(foo.x)
或者
print(foo.x())
__index有没有办法在我的自定义函数中区分这两个调用。
不,因为这不是两个不同的东西。它们是相同的操作:获取表并访问名为x. 它将尝试对结果调用函数这一事实完全无关紧要。毕竟,你可以这样做:
x
local temp = foo.x temp()
这应该是 100% 等效的 Lua 代码。