记住三元运算符语法

时间:2009-09-15 17:56:14

标签: ternary-operator mnemonics

任何人都有一个很好的技巧来记住标准的三元语法?

具体是否'?'或者':'是第一位的。多年来,我一直在倒退。

8 个答案:

答案 0 :(得分:21)

你正在检查的条件有点像问题,所以问号首先出现。

x > 0 ? 1 : 0

将此陈述视为三个英语句子:“x是否大于0?然后1.其他,0。”你在声明中对每个条款都有一个句子。

谓词:

x > 0 ? /* Is x greater than 0? */

“真正的”分支:

1 /* Then 1. */

“假”分支:

: 0 /* Else, 0. */

答案 1 :(得分:9)

至于记住哪个符号首先出现,我只想到第一部分是一个问题,“这是真的吗?”,所以问号首先出现。

我以这种方式思考语法

Question ? Yes : No

答案 2 :(得分:0)

它是这样的:

myVariable = this.testMethod() ? 'value for true case' : 'value for false case'

答案 3 :(得分:0)

在python中的

我把它读作普通的英文句子:

 a equals b if condition is true else c

答案 4 :(得分:0)

以这种方式思考:三元语句由三部分组成:问题,如果问题的答案为“是”则执行代码,如果答案为“否”则执行代码。 “?”问题出现在英语句子之后。

答案 5 :(得分:0)

“?”是一个问号所以它意味着“如果”。

冒号意味着“现在它来了”,“然后做”。

关于三元运算符的好处是你不会被迫使用它,特别是如果你在记住语法时遇到问题。只需使用一个更易读的if语句。

不是 - 三元没有比if语句更好的表现。

答案 6 :(得分:0)

三元运算符的语法是<condition> ? <if-true> : <if-false>

? 表示 if

但是如果你把 ? 放在像 if 这样的表达式前面,语法就会变成 ? <condition> <if-true> : <if-false>

<condition> <if-true> 很难区分,所以你必须添加其他符号来分割它,这违背了三元运算符简化语法的目的。

所以我们要在它后面加上?来解决这个问题,所以它是一个倒置的设置,可以看成是(<condition> ?) <if-true> : <if-false>

内容如下:如果<condition><if-true>,否则为<if-false>

答案 7 :(得分:-1)

如果您在错误时仍然通过单元测试,那么要么无关紧要,要么您的测试没有覆盖足够的代码路径。如果在键入它和从测试中获得通过/失败之间存在太长的差距,那就是另一个问题。在存在良好,快速的测试的情况下,很少有一些语法很重要。