Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Numericクラス > nonzero?
nonzero? -> self | nil
[permalink][rdoc]自身がゼロの時 nil を返し、非ゼロの時 self を返します。
p 10.nonzero? #=> 10 p 0.nonzero? #=> nil p 0.0.nonzero? #=> nil require 'rational' p Rational(0, 2).nonzero? #=> nil
非ゼロの時に self を返すため、自身が 0 の時に他の処理をさせたい場合に以 下のように記述する事もできます。
a = %w( z Bb bB bb BB a aA Aa AA A ) b = a.sort {|a,b| (a.downcase <=> b.downcase).nonzero? || a <=> b } b #=> ["A", "a", "AA", "Aa", "aA", "BB", "Bb", "bB", "bb", "z"]
[SEE_ALSO] Numeric#zero?