tb.print和tb:print的含義略微不同,:呼叫函式會多傳遞進去乙個self進去,差不多相當於oop裡面的成員函式呼叫.
但是和oop裡面成程式設計客棧員函式/非成員函式不同的是,lua裡面的程式設計客棧非成員函式.呼叫,他不是靜態的.
tb物件有乙個print function成員,當tb是nil的時候,你不能呼叫print成員的....在oop裡面,沒有這麼一回事,非成員函式是全域性的.
例子**:
複製** **如下:
t =
t.foo = function(t)
&nbs print(twww.cppcns.com.x);
end
local a = ;
print(t.foo(a), t:foo(a));
輸出:複製** **如下:21
nil
本文標題: lua中使用.和:呼叫函式的區別
本文位址: /jiaoben/lua/123203.html
Lua函式的呼叫( 和 的呼叫區別)
本人稍加修改。lua中類的函式定義方式有三種方法 定義方式 tab.func function 引數 body end function tab.func 引數 body end function tab func 引數 body end其中,兩種定義方式與普通函式的定義一樣。方式 採用 來定義,實...
Lua中呼叫函式使用點號和冒號的區別
這篇文章主要介紹了lua中呼叫函式使用點號和冒號的區別,本文涉及了lua中物件導向的一些的知識,並給出了乙個簡單的類 例項,需要的朋友可以參考下 本文是物件導向預熱篇,講解函式兩種呼叫方式的區別,初學者比較容易被坑。1.初學者最易混亂top1 呼叫函式時用點號還是用冒號?我們來看看下面的兩句 複製 ...
Lua中呼叫函式使用點號和冒號的區別
1.初學者最易混亂top1 呼叫函式時用點號還是用冒號?我們來看看下面的兩句 msprite.setposition 100,20 msprite setposition 100,20 對於初次接觸lua的朋友來說,這簡直就是噩夢,為嘛函式的呼叫有兩種形式,是讓我們隨便挑的意思嗎?這兩種形式是有區別...