• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yulanggong
V2EX  ›  程序员

稍复杂的三目运算该怎么写?

  •  
  •   yulanggong ·
    yulanggong · Dec 16, 2012 · 6984 views
    This topic created in 5077 days ago, the information mentioned may be changed or developed.
    13 replies  •  1970-01-01 08:00:00 +08:00
    qiao
    qiao
    Dec 16, 2012
    1
    这种情况就不要用三目运算符了,用 if else 的话可读性会好些。
    wwwjfy
    wwwjfy
    Dec 16, 2012
    2
    非得这么写的话,加几个括号更清楚
    chone
    chone
    Dec 17, 2012
    3
    用if else语句代替,这样写实在没有可读性。
    tunetoystory
    tunetoystory
    Dec 17, 2012
    4
    I think so
    Mutoo
    Mutoo
    Dec 17, 2012
    5
    可以试试“表驱动法”
    比这复杂得多的都可以搞定。

    http://www.cnblogs.com/ydong/articles/372742.html
    luin
    luin
    Dec 17, 2012
    6
    大多数情况下都不要嵌套三目运算
    banxi1988
    banxi1988
    Dec 17, 2012
    7
    我写不出复杂的三目运算符。如果需要写,那肯定需要重构了。
    为什么不引入解释性的变量 呢?
    如:
    boolean gt2 = num > 2?true:false;
    boolean lt5 = num < 5?true:false;
    boolean between2_5 = gt2 && lt5;
    等等。
    yulanggong
    yulanggong
    OP
    Dec 17, 2012
    8
    我觉的第一种和第二种类似 if else,而第三种类似 switch case。我更喜欢第一种,?相当于后置if ,:相当于 else,缩进能表明嵌套关系。
    yulanggong
    yulanggong
    OP
    Dec 17, 2012
    9
    在根据条件不同给变量赋不同的值时三目运算挺直观的。
    holmesabc
    holmesabc
    Dec 17, 2012
    10
    加几个括号就OK了
    chuangbo
    chuangbo
    Dec 17, 2012
    11
    我觉得这种情况用 if else 会好一些。即使结构一样,if 感观上也比较简单。最好是第一眼就能看懂,不用思考。不然一个星期以后再回来看,估计就要琢磨一阵了。
    BOYPT
    BOYPT
    Dec 17, 2012
    12
    果然python去掉?:运算符是明智的,改成if else
    yulanggong
    yulanggong
    OP
    Dec 18, 2012
    13
    发现好多人说三目运算可读性差,如果把问号读做 if that is true,把冒号读做 else,可读性也不错。可能是我已经习惯了,感觉只要嵌套关系清楚,三目运算也可以条理清晰,而且少敲好多的字符。既然大家都说可读性差,以后就要少用了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2309 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 13:22 · PVG 21:22 · LAX 05:22 · JFK 08:22
    ♥ Do have faith in what you're doing.