如何用常规IF运算符改写dir变量的三元条件赋值表达式?
用常规IF语句改写嵌套三元表达式的赋值
原代码是嵌套的三元运算符,逻辑顺序如下:
- 首先判断
close > shortStopPrev,如果成立,dir赋值为1 - 如果第一个条件不成立,接着判断
close < longStopPrev,成立则dir赋值为-1 - 若两个条件都不满足,
dir保持原有值不变
对应的常规IF语句改写如下(适配多数编程语言的通用写法):
// 假设dir已经有初始值,直接进行条件判断即可 if (close > shortStopPrev) { dir = 1; } else if (close < longStopPrev) { dir = -1; }
说明
因为三元表达式的最后分支是dir保持原值,所以当两个条件都不满足时,不需要额外编写else块,变量会自动保留之前的值。
内容的提问来源于stack exchange,提问作者stas stas
相关产品推荐
相关产品推荐

