對於lua中類的函式,這裡需要說明的是如下幾點:
1. 當你在寫類中的函式時,如果對函式新增了local ,就會報如下錯誤:
之所以會出現這樣的問題,在於根本就不能對類的方法單獨新增local。下面舉例說明:
--下面是乙個區域性函式。
local
function
doa()
print("區域性函式")
endtab={}
--類的函式
function
tab.dob
() print("類的函式")
end--local function tab.doc()
-- print("這樣宣告是錯誤的")
--end
向上面對類的方法新增local是不允許的。因為類的方法是類的內容,如果需要使類的方法是具有區域性作用的,只能使類是區域性,也就是修改為如下:
local tab={}
--類的函式
function
tab.dob
() print("類的函式")
end
此時類的方法就是區域性函式了。
2. 對於local和非loca函式的區別。
如果要呼叫local函式,必須在定義local函式之後,再呼叫,否則會找不到這個函式。而非local函式也就是全域性函式,只要定義了,何處呼叫此函式沒有限制。如下所示:
function dotest()
do1()
do2()
endlocal function do1() print("1") end
local function do2() print("2") end
dotest() --呼叫函式
此時就會報錯,解決方法只需要將local去掉即可,或者將do1()和do2() 函式移動dotest()上面即可。
lua中的函式
在lua中,定義函式的形式是 function func a,b func是函式名,在裡面寫關於函式的實現,a,b是函式的引數 end 將函式和table結合起來對於在不同的情況下使用不同的函式,是有很大的幫助的 例如 寫乙個加減乘除的東西 local l func local num l func...
Lua 中模擬 類
lua類 類一般都有類名,屬性宣告,構造體,方法,屬性。下面用lua實現類的模擬,類的模擬有很多種,但是都必須用到 index 下面看看 吧 宣告了類名還有屬性,並且給出了屬性的初始值。class 這句是重定義元表的索引 class.index class 構造體,構造體的名字是隨便起的,一般都叫名...
lua中的require函式
lua提供高階的require函式來載入執行庫,lua中的require函式功能主要有 1 require函式會搜尋目錄載入檔案 2 require會判斷是否檔案已經載入避免重複載入同一檔案。由於上述特徵,require在lua中是載入庫的更好的函式。require使用的路徑和普通我們看到的路徑還有...