Lua 點呼叫和冒號呼叫的區別

2021-08-18 12:29:44 字數 493 閱讀 5704

object.func_name <==> object.func_name(arg1,arg2...)

object:func_name <==> object:func_name(self,arg1,arg2...)

點定義函式 ->需要顯示傳遞或接收self

冒號定義函式 -> 可以省略self引數

(冒號的作用:定義時,給函式新增隱藏的第乙個引數self;呼叫時,預設把當前作者作為第乙個引數傳遞進去;)

點定義的函式,最好使用點呼叫;冒號定義的函式,最好使用冒號呼叫;否則

第一種情況:點定義函式,冒號呼叫函式

出現的問題:引數的第乙個值為table value

解決的方法:定義時,留出table value 需要的形參

第二種情況:冒號定義函式,點呼叫函式

出現的問題:第乙個引數會丟失,引數整體前移,並且最後乙個引數值為nil

解決的方法:點呼叫的第乙個引數傳self

Lua中呼叫函式使用點號和冒號的區別

這篇文章主要介紹了lua中呼叫函式使用點號和冒號的區別,本文涉及了lua中物件導向的一些的知識,並給出了乙個簡單的類 例項,需要的朋友可以參考下 本文是物件導向預熱篇,講解函式兩種呼叫方式的區別,初學者比較容易被坑。1.初學者最易混亂top1 呼叫函式時用點號還是用冒號?我們來看看下面的兩句 複製 ...

Lua中呼叫函式使用點號和冒號的區別

1.初學者最易混亂top1 呼叫函式時用點號還是用冒號?我們來看看下面的兩句 msprite.setposition 100,20 msprite setposition 100,20 對於初次接觸lua的朋友來說,這簡直就是噩夢,為嘛函式的呼叫有兩種形式,是讓我們隨便挑的意思嗎?這兩種形式是有區別...

Lua函式的呼叫( 和 的呼叫區別)

本人稍加修改。lua中類的函式定義方式有三種方法 定義方式 tab.func function 引數 body end function tab.func 引數 body end function tab func 引數 body end其中,兩種定義方式與普通函式的定義一樣。方式 採用 來定義,實...