1

这是 Pico-8 lua。我有以下功能,在标记的断言处失败。我不明白这怎么会发生。我setmetatable在另外两个场合使用过,它在那里工作。我在这里不知道。

function particle:new(o)
    setmetatable(o, self)
    assert(self.spd, "works")
    assert(getmetatable(o).spd, "works")
    assert(o.spd, "this fails") -- < this assert fails, the ones above succeed
    add(anims,o)
end
4

1 回答 1

2

好像忘记了

self.__index = self

没有 thiso.spd将不会引用particle.spd,如果o.spd是 nil。

于 2021-12-12T13:55:31.173 回答