點號和冒號的區別:定義和呼叫時 ,第乙個引數是否有隱藏引數self;
點號:第乙個引數無隱藏引數self;
冒號:第乙個引數有隱藏引數self;
eg:local test = {}
local test =
function test:func( arg1, arg2)
print(arg1, arg2, self)
endfunction test.func1( arg1, arg2)
print(arg1, arg2, self)
endtest:func(1,2)
test.func(1,2)
test:func1(1,2)
test.func1(1,2)
結果:1, 2, table
2, nil,1
table,1, nil
1,,2,nil
lua 點號,冒號,self
1 self類似c 中的this指標,指向當前正在使用這個table的例項 2 點號就是基本的table索引的方式 3 冒號,記住一點就是省略self這個引數的作用,無論是在定義函式,還是在呼叫函式都是這個作用。冒號只能用於函式呼叫和定義,不能用於其他的情況 local mt mt.num 100 ...
lua 中點號與冒號的區別
曾經遇到面試題目,面試官給的題目大概是這樣,a 是乙個table 請你說出a.foo 與a foo 的區別。我也只能呵呵了,因為我根本就不會。因為工作中對lua 根本就是看看 就開始埋頭敲 了。看下面 a function a inscrease self.count self.count 1 en...
lua中冒號 與點號 的區別
原文 在lua開發中我們經常會混淆這兩者之間的區別,下面通過乙個示例來解釋 class class.index class function class.new x,y local cls setmetatable cls,class cls.x x cls.y y return cls endfu...