Boolean
布尔型, 有两个值可供设定 true
或 false
. 如果一个值不是 true
, 那么肯定是 false
, 反之亦然. not
操作符, 可以放在布尔值前, 用于转换它. 例如. not true
等于 false
.
-
> x = true > print(x) true > print(not x) false > print(not false) true
==
, 和
~=
操作符会根据值的对比情况, 返回对应的布尔值.
-
> print(1 == 0) -- test whether two numbers are equal false > print(1 == 1) true > print(1 ~= 0) -- test whether two numbers are not equal true > print(true ~= false) -- is true not equal to false? true
注意: 赋值操作使用的是 (=
), 但是比较操作使用的是 (==
). 这两个符号意义不同, 但却看起来很相似, 很多时候容易弄错.
更多关于 Lua's Boolean 类型的信息, 请查阅 ExpressionsTutorial.
Expressions Tutorial |
表达式, 通常用来给变量赋值或向函数传递参数. 参考手册 2.5节对表达式做了很好的介绍. [1] 这里对表达式进行完整的说明, 并附带一些案例.
我们先用 =
表达式 做一下简短的说明. 下面给一个变量赋值, 例如.,
-
> x = 7 > print(x) 7 > = 7 7
Arithmetic expressions (算术表达式)
Lua 支持常用的二进制算术操作符.
-
> = 2+3, 5-12, 2*7, 7/8 5 -7 14 0.875 > = 5*(2-8.3)/77.7+99.1 98.694594594595
-
> = -(-10), -(10) 10 -10
-
> = 15%7, -4%3, 5.5%1 1 2 0.5
-
> = 7^2, 107^0, 2^8 49 1 256
Relational expressions (关系表达式)
关系表达式, 返回结果为布尔值 true
或 false
.
==
equal to~=
not equal to<
less than>
greater than<=
less than or equal to>=
greater than or equal to
例如:
-
> = 1 == 1, 1 == 0 true false > = 1 ~= 1, 1 ~= 0 false true > = 3 < 7, 7 < 7, 8 < 7 true false false > = 3 > 7, 7 > 7, 8 > 7 false false true > = 3