Lua中用 ... 表示函數的可變參數,比如 select(n, ...) --數字n表示起點,select(n, ...)返回從起點n到結束的可變參數,比如: n=3,... 是 0,1,2,3,4,5 則 select(n, ...) 就表示...中從第3個到最后一個 ...
前言 Lua中的函數和C 中的函數的含義是一致的,Lua中的函數格式如下: 在調用函數時,也需要將對應的參數放在一對圓括號中,即使調用函數時沒有參數,也必須寫出一對空括號。對於這個規則只有一種特殊的例外情況:一個函數若只有一個參數,並且此參數是一個字符串或table構造式,那么圓括號便可以省略掉。看以下代碼: 上面代碼的一些簡便寫法,如果不熟悉的話,在閱讀別人的代碼時,就會是一頭霧水。 一個函數 ...
2016-10-27 09:36 0 1697 推薦指數:
Lua中用 ... 表示函數的可變參數,比如 select(n, ...) --數字n表示起點,select(n, ...)返回從起點n到結束的可變參數,比如: n=3,... 是 0,1,2,3,4,5 則 select(n, ...) 就表示...中從第3個到最后一個 ...
-- 獲取當前的格林尼治時間print(os.time())-- 獲取當前時間的字符串表示,形如:11/28/08 10:28:37print(os.date())-- 獲取當前日期的字符串表示,形如 ...
我們先來看一個簡單的例子: functest.lua: 這其中最關鍵的是調用函數的使用,在C中調用Lua函數的API主要由以下幾個: (1)void lua_call (lua_State *L, int nargs, int nresults); 函數 ...
當Lua遇到不期望的情況時就會拋出錯誤,比如:兩個非數字進行相加;調用一個非函數的變量;訪問表中不存在的值等。你也可以通過調用error函數顯示的拋出錯誤,error的參數是要拋出的錯誤信息。 assert(a,b) a是要檢查是否有錯誤的一個參數,b是a錯誤時拋出的信息。第二個參數b是可選 ...
詞法域:若將一個函數寫在另一個函數之內,那么這個位於內部的函數便可以訪問外部函數中的局部變量,這項特征稱之為“詞法域”。例:假設有一個學生姓名的列表和一個對應於沒個姓名的年級列表,需要根據每個學生的年級來對他們的姓名進行排序(由高到低)。可以這么做: 現在假設單獨創建一個函數來做 ...
當Lua遇到不期望的情況時就會拋出錯誤,比如:兩個非數字進行相加;調用一個非函數的變量;訪問表中不存在的值等。你也可以通過調用error函數顯示的拋出錯誤,error的參數是要拋出的錯誤信息。 assert(a,b) a是要檢查是否有錯誤的一個參數,b是a錯誤時拋出的信息。第二個參數b是可選 ...
Lua利用一個虛擬的堆棧來給C傳遞值或從C獲取值。每當Lua調用C函數,都會獲得一個新的堆棧,該堆棧初始包含所有的調用C函數所需要的參數值(Lua傳給C函數的調用實參),並且C函數執行完畢后,會把返回值壓入這個棧(Lua從中拿到C函數調用結果)。 於此相關的C API有幾個比較重要的定義 ...