在Ruby on Rails中是否有一个简写if(without else)语句?

Goa*_*lie 38 ruby

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

a ? b : c
Run Code Online (Sandbox Code Playgroud)

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

if a
  # do something
end
Run Code Online (Sandbox Code Playgroud)

这是一个速记版本吗?

Ser*_*sev 78

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

do_something if a
Run Code Online (Sandbox Code Playgroud)

  • 当然,还有相反的条件:`do_something,除非a`. (7认同)

Cha*_*ell 6

do_something if a
Run Code Online (Sandbox Code Playgroud)

这将首先评估if条件(在这种情况下a),如果它是true(或在a不是false或的情况下nil)它将执行do_something.如果是false(或nil)它将继续运行下一行代码do_something.