【发布时间】:2015-03-14 05:03:49
【问题描述】:
我正在尝试转换如下内容:
if condition?
expression1 line 1
expression1 line 2
expression1 line 3
else
expression2 line 1
end
对于三元,我的问题是:如何将多行放入一个表达式中的一行?你像java中那样用分号分隔吗? 像这样?
condition? expression1 line 1; expression1 line 2; expression1 line 3 : expression2
【问题讨论】:
-
这对于以后阅读代码的其他人来说会非常不清楚 - 是否有理由必须是三元组?
-
为什么你认为在这种情况下三元运算符更好?
-
似乎是时候考虑使用另一种结构,如 if/else
-
您是否考虑过将这些神秘的“表达式”放在单独的方法中?那么三元组可能会更清晰,您不需要重载标点符号。
-
采用长代码表达式并将它们压缩为短表达式是好的。采用长代码表达式并将它们压缩成一行长代码并不是一个好主意。它使代码难以阅读。一开始你可能感觉很好,但你以后只会讨厌自己。
标签: ruby ternary-operator