Lua中經常會用到 "a and b or c ",這類似於C語言中的表達式 a ? b : c,例如選出x和y中的較大者,可以使用一下語句:
x = 8
y = 5
max = (x>y) and x or y
print(max)
輸出: 8
x = 3
y = 5
max = (x>y) and x or y
print(max)
輸出: 5
證明如下:
若 x>y,則 (x>y) = true,則 (x>y) and x = x,則 max = x or y = x;
若 x<y,則 (x>y) = false,則 (x>y) and x = false,則 max = false or y = y。