透過例子學習Lua(4)--函式的呼叫(轉)
透過例子學習Lua(4)--函式的呼叫(轉)[@more@] 1.不定引數 例e07.lua -- Functions can take a -- variable number of -- arguments. function funky_print (...) for i=1, arg.n do print("FuNkY: " .. arg[i]) end end funky_print("one", "two") 執行結果 FuNkY: one FuNkY: two 程式說明 * 如果以...為引數, 則表示引數的數量不定. * 引數將會自動儲存到一個叫arg的table中. * arg.n中存放引數的個數. arg[]加下標就可以遍歷所有的引數. 2.以table做為引數 例e08.lua -- Functions with table -- parameters function print_contents(t) for k,v in t do print(k .. "=" .. v) end end print_contents{x=10, y=20} 執行結果 x=10 y=20 程式說明 * print_contents{x=10, y=20}這句引數沒加圓括號, 因為以單個table為引數的時候, 不需要加圓括號 * for k,v in t do 這個語句是對table中的所有值遍歷, k中存放名稱, v中存放值 3.把Lua變成類似XML的資料描述語言 例e09.lua function contact(t) -- add the contact ‘t’, which is -- stored as a table, to a database end contact { name = "Game Developer", email = "hack@ogdev.net", url = "http://www.ogdev.net", quote = [[ There are 10 types of people who can understand binary.]] } contact { -- some other contact } 程式說明 * 把function和table結合, 可以使Lua成為一種類似XML的資料描述語言 * e09中contact{...}, 是一種函式的呼叫方法, 不要弄混了 * [[...]]是表示多行字串的方法 * 當使用C API時此種方式的優勢更明顯, 其中contact{..}部分可以另外存成一配置檔案 4.試試看 想想看哪些地方可以用到例e09中提到的配置方法呢?
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-951603/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 透過例子學習Lua(7)--呼叫C/C++函式(轉)C++函式
- 透過例子學習Lua(6)--C/C++中用Lua函式(轉)C++函式
- 透過例子學習Lua(2)---Lua流程控制(轉)
- 透過例子學習Lua(5)--Lua與C的互動(轉)
- 透過例子學習Lua(3)----Lua資料結構(轉)資料結構
- C中呼叫Lua函式函式
- Lua中呼叫ref和out修飾引數的函式/過載函式函式
- 透過使用型別庫提高VB呼叫DLL函式的效能 (轉)型別函式
- Python透過函式名呼叫函式的幾種場景Python函式
- 轉 Lua標準庫: table函式, 數學函式, 字串函式/格式化/配對,函式字串
- 【C#學習筆記】函式呼叫C#筆記函式
- Lua封裝函式模組並由其他模組呼叫封裝函式
- 和luster學習在Linux建立庫函式(4)(轉)Linux函式
- 008 透過連結串列學習Rust之實現Peek函式Rust函式
- php呼叫mysql儲存過程和函式的方法(轉)PHPMySql儲存過程函式
- 把匿名函式賦值給變數,透過變數來呼叫函式賦值變數
- spark RDD的學習,filter函式的學習,split函式的學習SparkFilter函式
- 函式棧幀(呼叫過程)函式
- PIPE函式的例子函式
- OpenCV學習筆記(4)——mixChannels函式OpenCV筆記函式
- Flutter學習筆記(4)--Dart函式Flutter筆記Dart函式
- ZT - 怎樣提高呼叫數學函式的程式的效能(4)函式
- lua學習: lua及函數語言程式設計語言函數程式設計
- 函式的學習函式
- 透過三個例子,學習 Go 語言併發程式設計的利器 - goroutineGo程式設計
- 013 透過連結串列學習Rust之實現連結串列的通用函式Rust函式
- 高階語言反彙編程式的函式呼叫過程 (轉)函式
- 4、核心函式 (轉)函式
- 輕鬆學習 JavaScript (4):函式中的 arguments 物件JavaScript函式物件
- SpringCloud學習筆記:宣告式呼叫Feign(4)SpringGCCloud筆記
- 透過 Cucumber 學習 BDD
- mysql和oracle字串編碼轉換函式,字串轉位元組函式例子MySqlOracle字串編碼函式
- 類的對過載函式的呼叫不明確函式
- 【C#學習筆記】函式過載C#筆記函式
- PLSQL學習-【7儲存過程、函式】SQL儲存過程函式
- [轉]Cocos2d-x下Lua呼叫自定義C++類和函式的最佳實踐C++函式
- lua非全域性函式函式
- openresty及lua的隨機函式REST隨機函式