如何使用 __index 作为函数?
How to use __index as a function?
我在模仿:
b = {1,2,3}
a = setmetatable({1,nil,3},{__index = b})
print(a[2]) -- prints 2
这样:
b = {1,2,3}
a = setmetatable({1,nil,3},{__index = function(t,k) rawget(b,k) end})
print(a[2]) -- nil
我做错了什么?
您需要 return 元方法中的一个值:
return rawget(b,k)
我在模仿:
b = {1,2,3}
a = setmetatable({1,nil,3},{__index = b})
print(a[2]) -- prints 2
这样:
b = {1,2,3}
a = setmetatable({1,nil,3},{__index = function(t,k) rawget(b,k) end})
print(a[2]) -- nil
我做错了什么?
您需要 return 元方法中的一个值:
return rawget(b,k)