嵌套复合三元语句如何评估和执行?

时间:2019-07-31 04:16:22

标签: ternary

该复合三元条件表达式如何解释和执行?

我想将其更改为嵌套的if / else编码集,我认为这将更易于阅读和增进理解。

非常感谢。

x > nz(fit[1]) ? ((x - r) < nz(fit[1]) ? nz(fit[1]) : (x - r)) : ((x + r) > nz(fit[1]) ? nz(fit[1]) : (x + r))

1 个答案:

答案 0 :(得分:0)

以下是使用if和else进行翻译的版本:

var some_variable;

if (x > nz(fit[1])) {
    if ((x - r) < nz(fit[1])) {
        some_variable = nz(fit[1]);
    }
    else {
        some_variable = (x - r);
    }
}
else if ((x + r) > nz(fit[1])) {
    some_variable = nz(fit[1]);
}
else {
    some_variable = (x + r);
}

请注意,您提供的三元表达式返回一个值,并且很可能被用于进行赋值。因此,我添加了一个变量some_variable,该变量接收三元表达式生成的值。