V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yulanggong
V2EX  ›  程序员

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

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

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