三元操作符是如何工作的,确切地工作在多个耦合三元操作符?



请演示如何使用多个相互耦合的三元操作符。例子:

rngfilt = x > rngfilt[1] ? x - r < rngfilt[1] ? rngfilt[1] :
x - r : x + r > rngfilt[1] ? rngfilt[1] : x + r

您的困惑是常见的,这正是我避免链接三元操作符的原因,即使我自己发现它们可读。

condition1 ? yes : condition2 ? yes : condition3 ? yes : no

如果有帮助,就把它想象成有括号:

condition1 ? yes : (condition2 ? yes : (condition3 ? yes : no))

第二个表达式是"false"行动为第一个表达,而第三个则是"假"。第二个动作。如果一个三元表达式是"真",那就更难理解了。

最新更新