From: Guillaume Cottenceau Date: 2001-08-24T21:09:06+09:00 Subject: [ruby-talk:20278] Re: In Ruby 0 is true but nil is false.. or how to shoot yourself?.. Dave Thomas writes: [...] > Try 'nonzero?' > > dave[~ 13:17:19] ri nonzero > ------------------------------------------------------- Numeric#nonzero? > num.nonzero? -> num or nil > ------------------------------------------------------------------------ > Returns num if num is not zero, nil otherwise. This behavior is > useful when chaining comparisons: > 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"] Thanks a bunch Dave! As usual, you got the perfect solution.. -- Guillaume Cottenceau - http://people.mandrakesoft.com/~gc/