Руби: «foo = true, если! Определено? Фу »не будет работать, как ожидалось

Когда он на самом деле не определен, он получает значениеnil просто потому что это было "тронуто"

$ irb

ruby-1.9.2-p0 > foo = true if !defined? foo
 => nil 
ruby-1.9.2-p0 > foo
 => nil 

ruby-1.9.2-p0 > if !defined? bar
ruby-1.9.2-p0 ?>  bar = true
ruby-1.9.2-p0 ?>  end
 => true 
ruby-1.9.2-p0 > bar
 => true 

Итакif ...end работает как положено, ноfoo = true if ... не делает.

Ответы на вопрос(3)

Ваш ответ на вопрос