是否有可能使用三元"多个输出;如果"红宝石的陈述?

时间:2016-06-21 16:27:21

标签: ruby

我在搜索这个问题时遇到了麻烦,如果之前有人问过,请道歉。

我想为单行if语句提供多个输出;即。

i > 2 ? print("true") AND ALSO i+=1 : print("false")

这是可能的,还是我必须使用完整的if / else语法来完成它?

1 个答案:

答案 0 :(得分:4)

您可以将表达式括在括号中,如下所示:

i > 2 ? (print("true"); i+=1) : print("false")

虽然我更喜欢使用常规if / elses来表达长于一个表达式的条件。这对于可读性是好的,作为程序员,我希望通过良好的练习和可读性来缩短界限。

牺牲可读性和轻松理解更短的代码并不是一个很好的权衡。