這個初版是為 Lua 5.0 所寫。儘管對後續版本來說仍然有很大的關聯性,但還是有些差異。
第四版針對 Lua 5.3,可在 Amazon 和其他書店購買。
購買這本書,您同時也協助 支援 Lua 專案。
![]() |
程式設計 in Lua | ![]() |
第一部分。語言 第 2 章。型別和值 |
Lua 是一種動態型別語言。語言中沒有型別定義;每個值都攜帶自己的型別。
Lua 中有八種基本型別:nil、布林值、數字、字串、使用者資料、函式、執行緒和表格。type
函式會提供特定值之型別名稱
print(type("Hello world")) --> string print(type(10.4*3)) --> number print(type(print)) --> function print(type(type)) --> function print(type(true)) --> boolean print(type(nil)) --> nil print(type(type(X))) --> string最後一個範例會產生
"string"
,不論 X
的值為何,因為 type
的結果永遠都是字串。
變數沒有預先定義的型別;任何變數都可以包含任何型別的值
print(type(a)) --> nil (`a' is not initialized) a = 10 print(type(a)) --> number a = "a string!!" print(type(a)) --> string a = print -- yes, this is valid! a(type(a)) --> function注意最後兩行:函式在 Lua 中是一等值;因此,我們可以像處理任何其他值一樣處理函式。(更多相關資訊請參閱 第 6 章。)
通常,當您對不同的型別使用單一變數時,結果會是雜亂的程式碼。然而,有時明智地使用這個功能會有幫助,例如使用 nil 來區分正常回傳值和例外狀況。
版權所有 © 2003–2004 Roberto Ierusalimschy。保留所有權利。 | ![]() |