/ /演算子のないRubyの遅延if文 - ruby​​-on-rails、ruby

Rubyのlazy if演算子なしの文 - ruby​​-on-rails、ruby

これはルビーで可能ですか?

variablename = true
if variablename
puts "yes!"
end

これの代わりに

variablename = true
if variablename == true
puts "yes!"
end

編集: また、

variablename = 0 #which caused my problem

私はそれを実現させることはできません。そういうスタイルのことは可能でしょうか?私は今ルビーを学んでいます。それはPHPでも可能ですが、

回答:

回答№1は8

確かに、それは可能です

すべてを除く nil そして false ルビーで真実とみなされます。意味:

var = 0
if var
# true!
end

var = ""
if var
# true!
end

var = nil
if var
# false
end

回答№2の場合は3

xdazzとVladは答えが正しいので、あなたはキャッチする必要があります 0 別々に:

variable = false if variable.zero?  # if you need 0 to be false
puts "yes!" if variable             # now nil, false & 0 will be considered false

回答№3の場合は1

それはまったく可能です。ルビーでは、 nil そして false 他の値が真であるとみなされます。