luaのポイントとコロンの定義方法と呼び出し方法の違い
994 ワード
local a = {x=2}
--[[function a.foo1(b)
self.x = b
end
a.foo1(5)
print(a.x) -- :attempt to index global 'self' (a nil value)]]
--[[function a.foo2(self,b) --
self.x = b
end
a.foo2(a,5) --
print(a.x) -- 5]]
--[[function a.foo3(self,b) --
self.x=b
end
a:foo3(6) --
print(a.x) -- 6]]
--[[function a:foo4(b) --
self.x=b
end
a.foo4(a,7) --
print(a.x) -- 7]]
--[[function a:foo5(b) --
self.x=b
end
a:foo5(8) --
print(a.x) -- 8]]
function a:foo6(self,b) -- self
self.x =b
end
a:foo6(8) --
a:foo6(a,8) --
print(a.x)
-- : , self( self );
-- ,
.......
-- , ,
-- self ( )
t={x=1}
function t.foo(a)
print(a.x)
end
local a = {x=2}
print(t.foo(a)) -- 2
--print(t:foo()) -- 1
--print(t:foo(a)) -- 1