模拟三元操作符和真正三元操作符的区别
-- 更新 2019.9.7 在第二个操作数为真的情况下 lua的 a and b or c 与 a?b:c是等价的.
1 // 三元操作符是用来处理简单的判断的 2 a>b?a:b 3 // 写成if的情况 4 if(a>b) 5 return a; 6 else 7 return b; 8 9 //或许用and和or来模拟 10 a>b and a or b 11 //但是不要用模拟的三元操作符干复杂的事,例如: 12 bool value1 and bool value2 or bool value3 13 例如在这情况下当value1 = true,value2 = false, value3 = true时,模拟的三元操作符和if语句结果不一致: 14 if true 15 return false; 16 else 17 return true; 18 结果是 false 19 true and false or true 20 结果是 true 21 22 //所以,不要用模拟的三元操作符干复杂的事,会和预想中不同,就简单的条件返回值就好了(a>b?a:b)

浙公网安备 33010602011771号