luaの中のselfの役割
684 ワード
luaの中のselfの役割
selfは実はJava、C++の中のthisの対象に相当します。コードを見ます。
selfは実はJava、C++の中のthisの対象に相当します。コードを見ます。
a = {x = 3, y = 4}
a.__index = function(table, key)
print("__index")
return a[key]
end
-- :
-- , self
-- , self
--[[
function a.new(self, o)
o = o or {}
print("new")
setmetatable(o, self)
return o
end
]]
function a.new(o)
o = o or {}
print("new")
setmetatable(o, a)
return o
end
--
local b = a:new() -- a.new(a, {})
print(getmetatable(b))
print(b.x)