lua程式設計中,經常遇到函式的定義和呼叫,有時候用點號呼叫,有時候用冒號呼叫,這裡簡單的說明一下原理。
girl =
function girl.gotomarket(girl ,somemoney)
girl.money = girl.money - somemoney
endgirl.gotomarket(girl ,100)
print(girl.money)
可以看出,這裡進行了方法的點號定義和點號呼叫。
boy =
function boy:gotomarket(somemoney)
self.money = self.money - somemoney
endboy:gotomarket(100)
print(boy.money)
這裡進行了冒號定義和冒號呼叫。
以上的列印結果都是100。
可以看出,冒號定義和冒號呼叫其實跟上面的效果一樣,只是把第乙個隱藏引數省略了,而該引數self指向呼叫者自身
當然了,我們也可以點號定義冒號呼叫,或者冒號定義點號呼叫
如:
boy =
function boy.gotomarket(self ,somemoney)
self.money = self.money - somemoney
endboy:gotomarket(100)
print(boy.money)
總結:冒號只是起了省略第乙個引數self的作用,該self指向呼叫者本身,並沒有其他特殊的地方。 Lua中的點 冒號與self
lua中的點 冒號與self,它們之間的關係主要體現在函式的定義與呼叫上,lua在函式定義時可以用點也可以用冒號,如 function mytable.fun p return p endfunction mytable fun p return p end用冒號定義的函式有個特別的地方是它內部有個...
LUA中的冒號 點和self
在lua程式設計中,經常會看到有時用點號定義乙個table的成員函式,有時卻用冒號,在呼叫的時候也是如此。那麼點號和冒號在使用上有什麼區別呢?它們與self之間又是什麼樣的關係呢?稍安勿躁,接下來謎底將一一為你揭開。下面先看乙個例子 class class.index class function ...
LUA中的冒號 點和self
在lua程式設計中,經常會看到有時用點號定義乙個table的成員函式,有時卻用冒號,在呼叫的時候也是如此。那麼點號和冒號在使用上有什麼區別呢?它們與self之間又是什麼樣的關係呢?稍安勿躁,接下來謎底將一一為你揭開。下面先看乙個例子 class class.index class function ...