or
不返回布爾值;相反,如果它們中沒有一個是真的,它將返回第一個真值或最後一個假值。
例如:
print(nil or 123) -- 123
print(123 or nil) -- 123
print(456 or 123) -- 456
print(nil or false or "hi") -- hi
您發現該生產線是一個變量設置爲默認值,如果它是nil
或false
,但保持它的價值,如果它是其他任何產品的習慣使用這個屬性。示例
function foo(arg)
arg = arg or "hello world!"
print(arg)
end
foo() -- "hello world!"
foo("goodbye world!") -- "goodbye world!"
and
也類似地工作;它會返回第一個錯誤值或最後一個錯誤值。通過一起使用二者,您也可以模擬三元運算符:
function foo(bool)
print(bool and "yes" or "no") -- second value (the true value) must be truthy
end
print(foo(true)) -- "yes"
print(foo(false)) -- "no"
print(foo(123)) -- "yes"
謝謝!現在我懂了。 – Strogg 2014-12-09 13:50:02