第一版是為 Lua 5.0 編寫的。雖然對於後續版本來說仍然相當相關,但有一些差異。
第四版針對 Lua 5.3,可在 Amazon 和其他書店買到。
購買本書,您也協助 支援 Lua 專案。
![]() |
用 Lua 程式設計 | ![]() |
第一部。語言 第 3 章。運算式 |
< > <= >= == ~=所有這些運算子總是產生 true 或 false。
運算子 ==
測試相等性;運算子 ~=
是相等性的否定。我們可以將這兩個運算子套用於任何兩個值。如果值有不同的類型,Lua 會將它們視為不同的值。否則,Lua 會根據它們的類型來比較它們。特別是,nil 僅等於它自己。
Lua 透過參照來比較表格、使用者資料和函式,也就是說,只有當兩個此類值是同一個物件時,才會被視為相等。例如,在執行下列程式碼之後
a = {}; a.x = 1; a.y = 0 b = {}; b.x = 1; b.y = 0 c = a您會得到
a==c
但 a~=b
。
我們只能將順序運算子套用於兩個數字或兩個字串。Lua 以通常的方式來比較數字。Lua 以字母順序來比較字串,而字母順序會遵循為 Lua 設定的區域設定。例如,在歐洲拉丁文-1 區域設定中,我們有 "acai" < "açaí" < "acorde"
。其他類型只能比較相等性(和不相等性)。
在比較不同類型的值時,您必須小心:請記住 "0"==0
是 false。此外,2<15
顯然為 true,但 "2"<"15"
是 false(字母順序!)。為避免產生不一致的結果,當您在順序比較中混合字串和數字時(例如 2<"15"
),Lua 會引發錯誤。
版權所有 © 2003–2004 Roberto Ierusalimschy。保留所有權利。 | ![]() |