第一版是针对 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。保留所有权利。 |