41

我知道 Ruby 中有一个简写的单行 if/else 语句:

a ? b : c

是否只有一个if声明?而不是这样写:

if a
  # do something
end

有这个的简写版本吗?

4

2 回答 2

81

您可以使用后置条件(不要介意名称,它将在代码之前进行评估。并且仅在条件评估为真实值(即非或)do_something时才会执行)。nilfalse

do_something if a
于 2012-04-26T18:20:56.840 回答
7
do_something if a

这将首先评估if条件(在这种情况下a),如果它是true(或在 的情况下a,不是falsenil),它将执行do_something。如果是false(或nil),它将转到下一行永远不会运行的代码do_something

于 2012-04-26T18:22:18.460 回答