If ... and

Witam,
if a.nil? and b.nil? …
Czy jak a.nil? zwróci false to b.nil? będzie jeszcze sprawdzane, czy sprawdzanie jest przerywane po pierwszym fail ?
Po teście szybkim wynika, że jest przerywane, ale chcę się upewnić.

Pozdrawiam

irb(main):014:0> puts "yo" if 1.nil? and (puts "here") => nil irb(main):015:0> puts "yo" if nil.nil? and (puts "here") here
jeśli pierwszy warunek nie zachodzi to dalsze nie są sprawdzane

dzięki

Poza tym w wyrażeniach warunkowych powinieneś używać operatora logicznego &&, a nie operatora kontroli przepływu “and”.

Krótko: https://gist.github.com/33440
Dłużej: http://avdi.org/devblog/2010/08/02/using-and-and-or-in-ruby/