我想知道 Ruby 中是否有一种方法可以使用类似于 python 的方式使用单词作为运算符编写一行 if-then-else 语句
a if b else c
Run Code Online (Sandbox Code Playgroud)
我知道经典的三元条件,但我感觉 Ruby 更像是一种“wordsey”语言而不是“symboley”语言,所以我试图更好地封装语言的精神。
这个方法我也知道,
if a then b else c end
Run Code Online (Sandbox Code Playgroud)
这基本上是将多线压扁到一条线上,但线end的末端感觉繁琐和多余。我认为三元条件会比这个更可取。
那么对于熟悉 Ruby 的你来说,有没有更好的写法呢?如果不是,哪种方法最像 Rubyesque?
链接的帖子未解决以下问题:
if a then b else c end在 Ruby 中编写“wordsey”单行 if-then-else 更简洁的方法?Dar*_*one 18
存在的两个单衬是您已经描述的两个:
三元:
a ? b : c
Run Code Online (Sandbox Code Playgroud)
如果结构:
if a then b else c end
Run Code Online (Sandbox Code Playgroud)
所以回答你的问题:
然而,大多数风格指南都说三元运算符适用于简单的结构:
Avoid the ternary operator (?:) except in cases where all expressions are extremely trivial.
Run Code Online (Sandbox Code Playgroud)