【发布时间】:2010-10-13 10:33:15
【问题描述】:
我有一个名为word 的字符串和一个名为infinitive 的函数,这样word.infinitive 在某些情况下会返回另一个字符串,否则会返回一个空字符串
我正在尝试为下面的 code-sn-p 找到一个优雅的 ruby 单行表达式
if word.infinitive == ""
return word
else return word.infinitive
如果不定式返回 nil 而不是 "",我可以做类似的事情
(word.infinitive or word)
但既然没有,我不能利用短路或
理想情况下我想要
1) 我可以轻松嵌入到其他代码中的单个表达式
2) 函数不定式只被调用一次
3) 不要在我的代码中添加任何自定义 gem 或插件
【问题讨论】:
-
注意“或”和||做同样的事情,但是 ||具有更高的优先级
-
换句话说,它们都短路了,这就是我想说的
-
投了反对票,因为选择了一个糟糕的答案作为答案。即使给出了很好的答案