Lua逻辑运算

Lua逻辑运算符

- and or not

--and 与 or 
--返回的不是true 和 false
--而是它的两个操作数

--[[
 a and b   a为false 返回a
 a or b    a为true 返回a
]]

print( 4 and 5)  --> 5
print( nil and 13) --> nil
print( false and 13) -->false
print( 4 or 5) -->4
print(false or 5) -->5




一个很实用的技巧:如果 x 为 false 或者 nil 则给 x 赋初始值 5
x = x or 5
--[[等价于
if not x then
   x = 5
end
]]


三元运算符在lua中得实现
--a?b:c 用and 和 or表示
print(false and 3 or 4)



not 的结果一直返回 false 或者 true
print(not nil) -->true
print(not false) -->true
print(not 0) -->false     0也是true
print(not not nil) -->false




猜你喜欢

转载自caiwb1990.iteye.com/blog/2213381