lua "a and b or c "

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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章