lua編程中,經常遇到函數的定義和調用,有時候用點號調用,有時候用冒號調用,這里簡單的說明一下原理。如:
### 點號調用:
~~~
-- 點號定義和點號調用:
girl = {money = 200}
function girl.goToMarket(girl ,someMoney)
girl.money = girl.money - someMoney
end
girl.goToMarket(girl ,100)
print(girl.money)
~~~
### 引用參數self:
~~~
-- 參數self指向調用者自身(類似于c++里的this 指向當前類)
girl = {money = 200}
function girl.goToMarket(self ,someMoney)
self.money = self.money - someMoney
end
girl.goToMarket(girl, 100)
print(girl.money)
~~~
### 冒號調用:
~~~
-- 冒號定義和冒號調用:
girl = {money = 200}
function girl:goToMarket(someMoney)
self.money = self.money - someMoney
end
girl:goToMarket(100)
print(girl.money)
~~~
冒號定義和冒號調用其實跟上面的效果一樣,只是把第一個隱藏參數省略了,而該參數self指向調用者自身。
**總結:**冒號只是起了省略第一個參數self的作用,該self指向調用者本身,并沒有其他特殊的地方。
引用博文:http://www.xuebuyuan.com/1613223.html
- 前言
- lua學習筆記之一(C/C++程序員的Lua快速入門[初階話題])
- lua學習筆記之二(C/C++程序員的Lua快速入門[進階話題])
- lua學習筆記之三(C/C++程序員的Lua快速入門[高階話題])
- lua學習筆記之四(Lua中的基本函數庫)
- lua學習筆記之五(Lua中的數學庫)
- Lua中的table函數庫
- Lua中的常用操作系統庫
- LUA string庫
- LUA IO庫
- VS2010編譯Lua程序(lua-5.2.3)
- Lua中調用C函數(lua-5.2.3)
- Lua 常用數據結構
- lua 如何輸出樹狀結構的table?
- Lua中的元表與元方法
- lua 函數回調技巧
- Cocos2d-x使用Luajit實現加密
- Lua中的模塊與module函數
- 我所理解lua 語言中的點、冒號與self
- Lua代碼編寫規范