0

如果我设置__index的元表foo然后调用:

print(foo.x)

或者

print(foo.x())

__index有没有办法在我的自定义函数中区分这两个调用。

4

1 回答 1

3

不,因为这不是两个不同的东西。它们是相同的操作:获取表并访问名为x. 它将尝试对结果调用函数这一事实完全无关紧要。毕竟,你可以这样做:

local temp = foo.x
temp()

这应该是 100% 等效的 Lua 代码。

于 2013-07-22T04:43:52.907 回答