第一版是針對 Lua 5.0 編寫的。雖然對後續版本來說仍然有很大的關聯性,但還是有些差異。
第四版針對 Lua 5.3,可在 Amazon 和其他書店買到。
購買本書,您同時也能 贊助 Lua 專案。
![]() |
Lua 程式設計 | ![]() |
第一部分。語言 第 3 章。運算式 |
print(4 and 5) --> 5 print(nil and 13) --> nil print(false and 13) --> false print(4 or 5) --> 4 print(false or 5) --> 5and 和 or 都使用捷徑評估,也就是說,它們只在必要時評估第二個運算元。
一個有用的 Lua 慣用語法是 x = x or v
,它等於
if not x then x = v end也就是說,當
x
未設定時,它會將 x
設定為預設值 v
(前提是 x
未設定為 false)。
另一個有用的慣用語法是 (a and b) or c
(或僅為 a and b or c
,因為 and 的優先權高於 or),它等於 C 運算式
a ? b : c前提是
b
不是 false。例如,我們可以用類似下列陳述式的語句來選取兩個數字 x
和 y
的最大值
max = (x > y) and x or y當
x > y
時,and 的第一個運算式為 true,因此 and 會產生第二個運算式(x
)(它也是 true,因為它是一個數字),然後 or 運算式會產生第一個運算式的值,x
。當 x > y
為 false 時,and 運算式為 false,因此 or 會產生第二個運算式,y
。
運算子 not 始終傳回 true 或 false
print(not nil) --> true print(not false) --> true print(not 0) --> false print(not not nil) --> false
版權所有 © 2003–2004 Roberto Ierusalimschy。保留所有權利。 | ![]() |