Lua中逻辑运算符和C语言中的三目运算符关系
(a and b) or c
类似于C语言中的a?b:c
,但是使用的前提是 b 不为假,例如以下语句:
max = (x > y) and x or y
- 若 x > y,则 and 的第一个操作数为真,那么 and 运算的结果就是其第二个操作数 x,而 x 是一个永远为真的表达式,然后 or 运算的结果就是其第一个操作数 x ;
- 若 x > y 为假的时候,and 表达式为假,因此 or 的结果是第二个操作数 y 。
Lua中逻辑运算符和C语言中的三目运算符关系
(a and b) or c
类似于C语言中的a?b:c
,但是使用的前提是 b 不为假,例如以下语句:
max = (x > y) and x or y