在metatable中调用metatable方法

时间:2016-07-20 21:57:08

标签: lua metatable

有没有办法在metatable本身内调用metatable方法?例如

local t = {}
local mt = {
    __index = {
        dog = function() print("bark") end,
        sound = function() t:dog() end
 }
}

setmetatable(t,mt)

t:Sound()

引发了这个错误:

尝试调用方法'声音' (零值)

1 个答案:

答案 0 :(得分:4)

因为您没有Sound。仅sound