一、boolean 定义
lua 中只有 false 和 nil 表示假,其他都是表示真。
数字 0 和空字符串也表示真。
二、逻辑运算:and、or、not
and:如果第一个操作数为 “false” , 则返回第一个操作数
or:如果第一个操作数不为 “false” ,则返回第一个操作数,否则返回第二个操作数
not:永远只返回 boolean 类型值
print(4 and 5) --> 5
print(nil and 13) --> nil
print(false and 13) --> false
print(0 or 5) --> 0
print(false or "hi") --> hi
print(nil or false) --> false
三、巧妙用法
第一种:x = x or v
的作用就是如果 x 未被初始化,则将 v 赋值给 x ,等效如下代码。这里需要知道 x 不是 Boolean 类型的 false
if not x then x = v then
第二种:((a and b) or c)
或 (a and b or c),等效于三木运算符 a ? b : c
。这里需要知道 b 不为 Boolean 类型 false
可以用以下表达式进行求两个值的最大值
(x > y) and x or y
四、写在最后
Lua 项目地址:Github传送门 (如果对你有所帮助或喜欢的话,赏个star吧,码字不易,请多多支持)
公众号搜索 “江澎涌” 可以更快的获取到后续的更新文章