Lua支持常用的逻辑操作符 and , or 和 not . 逻辑操作中 nil 被看为false, 除了boolean的false和nil外的值被看作 true. 如果第一个操作数是false,and操作的结果为第一个操作数,否则为第二个操作数;如果第一个操作数不是false,or操作的结果为第一个操作数,否则结果为第二个操作数。
> 4 and 5 --> 5
> nil and 13 --> nil
> false and 13 --> false
> 0 or 5 --> 0
> false or "hi" --> "hi"
> nil or false --> false
优先级:
And操作符的优先级高于Or。如: ((a and b) or c) 等同于 (a and b or c)