lua継承中self._index=selfの疑い解き
749 ワード
原文:http://www.bubuko.com/infodetail-1642615.html
まずluaテーブルからキーを検索するときの流れを見てみましょう.
まずluaテーブルからキーを検索するときの流れを見てみましょう.
-- t k ,lua :
-- 1.t k, , 2
-- 2.t , nil, 3
-- 3.t __index , nil, __index
---
-- 1,
local class = {}
function class:new()
self.__index = self
return setmetatable( {}, self )
end
function class:say()
print(111)
end
local o1 = class:new()
o1.say()
local o2 = o1:new()
o2.say()
--- 2, 1 , 2 __index
local class = {}
class.__index = class
function class:new()
return setmetatable( {}, self )
end
function class:say()
print(111)
end
local o1 = class:new()
o1.say()
-- 2 , o1 __index
local o2 = o1:new()
o2.say()