点号与冒号操作符的区别
生活随笔
收集整理的這篇文章主要介紹了
点号与冒号操作符的区别
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
看下面示例代碼:
local str = "abcde" print("case 1:", str:sub(1, 2)) print("case 2:", str.sub(str, 1, 2))output:
case 1: ab case 2: ab冒號操作會帶入一個self參數(shù),用來代表自己。而點號操作,只是內(nèi)容的展開。
在函數(shù)定義時,使用冒號將默認接收一個self參數(shù),而使用點號則需要顯式傳入self參數(shù)。
示例代碼:
obj={x=20} function obj:fun1()print(self.x) end等價于
obj={x=20} function obj.fun1(self)print(self.x) end參見?官方文檔?中的以下片段:“
The colon syntax is used for defining methods, that is, functions that have an implicit extra parameter self. Thus, the statement
t.a.b.c:f (params) bodyis syntactic sugar for
t.a.b.c.f = (self, params) body”
冒號的操作,只有當變量是類對象時才需要。有關(guān)如何使用Lua構(gòu)造類,大家可參考相關(guān)章節(jié)。
總結(jié)
以上是生活随笔為你收集整理的点号与冒号操作符的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nginx_lua 学习网站
- 下一篇: 直播未来属于RTMP还是HTTP?