区分__index中的字段访问和函数调用

时间:2013-07-22 04:36:47

标签: lua

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

print(foo.x)

print(foo.x())

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

1 个答案:

答案 0 :(得分:3)

不,因为那些不是两件不同的事情。它们是相同的操作:取表并访问名为x的字段。它将尝试在结果上调用函数的事实完全无关紧要。毕竟,你可以这样做:

local temp = foo.x
temp()

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