三元运算符如何与多个耦合的三元运算符一起工作?
How does the ternary operator work exactly works in with multiple coupled ternary operators?
请演示三元运算符如何与相互耦合的多个三元运算符一起工作。
示例:
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))
第二个表达式是第一个表达式的“假”动作,第三个是第二个表达式的“假”动作。如果一个三元表达式是另一个三元表达式的“真实”动作,那就更难理解了。
请演示三元运算符如何与相互耦合的多个三元运算符一起工作。 示例:
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))
第二个表达式是第一个表达式的“假”动作,第三个是第二个表达式的“假”动作。如果一个三元表达式是另一个三元表达式的“真实”动作,那就更难理解了。