Issue #9123 has been updated by sferik (Erik Michaels-Ober). =begin > The opposite of "zero?" is not "nonzero?" but "notzero?". If the method's name was "notzero?", one could call it an inconsistency. "nonzero?" is not a yes-no-question. Nonzero means "not equal to zero". It means the exact same thing as "not zero". It most certainly is a yes-no question. How else would you answer the question (({5.nonzero?}))? > And yes, you are proposing an inconsistency, because a lot of useful programs would no longer work. I believe you're confusing the word "inconsistency" with "incompatibility". Is English not your native language or are you trolling? =end ---------------------------------------- Feature #9123: Make Numeric#nonzero? behavior consistent with Numeric#zero? https://bugs.ruby-lang.org/issues/9123#change-43045 Author: sferik (Erik Michaels-Ober) Status: Open Priority: Normal Assignee: Category: Target version: Numeric#zero? returns true or false, while Numeric#nonzero? returns self or nil. I've written a patch that fixes this inconsistency and adds a Numeric#nonzero (non-predicate) method that returns self or nil for chaining comparisons. I'd like for this to be included in Ruby 2.1.0. https://github.com/ruby/ruby/pull/452.patch -- http://bugs.ruby-lang.org/