我最近遇到了这种形式的三元逻辑陈述:
condition, condition ? condition ? expr1 : expr2 : expr3
我不确定如何解释这一点。我没有在网上看到任何东西。任何人都有这方面的任何信息。
答案 0 :(得分:2)
condition, condition ? condition ? expr1 : expr2 : expr3
首先你有一个逗号运算符。这评估为右侧。所以第一个条件什么也没做。
condition ? condition ? expr1 : expr2 : expr3
然后你只有两个三元表达式
与以下内容相同:
condition ? (condition ? expr1 : expr2) : expr3
因此,如果第一个条件为false,则会得到expr3。
否则,第二个条件在expr1和expr2之间选择。
永远不要写这样的代码!简洁只是一种美德,它使得很难理解代码的含义。
答案 1 :(得分:1)
我们试试:))
condition1, condition2 ? condition3 ? expr1 : expr2 : expr3
condition1不解析。我们以'return'为例。
if( condition2 ){
if(condition3){
return exp1;
} else {
return expr2;
}
} else {
return expr3;
}