在元表本身内调用元表方法

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

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

setmetatable(t,mt)

t:Sound()

会引发以下错误:

尝试调用 'Sound' 方法(一个 nil 值)

点赞
用户6544989
用户6544989

因为你没有 Sound。只有 sound

2016-07-20 22:06:21