From: ruby-core@... Date: 2015-10-29T13:25:29+00:00 Subject: [ruby-core:71262] [CommonRuby - Feature #11627] make `nonzero` an alias of `nonzero?` Issue #11627 has been updated by Marc-Andre Lafortune. Assignee set to Yukihiro Matsumoto When you say "for historic reasons nonzero? returns self or nil", it sounds like it was a mistake that can't be fixed for compatibility reason. I don't believe this to be true. Also, do you also want `Module#<` and al. to be renamed? String < Fixnum # => nil ---------------------------------------- Feature #11627: make `nonzero` an alias of `nonzero?` https://bugs.ruby-lang.org/issues/11627#change-54635 * Author: Dan Sherson * Status: Open * Priority: Normal * Assignee: Yukihiro Matsumoto ---------------------------------------- for historic reasons `nonzero?` returns self or nil. (according to https://bugs.ruby-lang.org/issues/9123) I like the expectation that `method?` returns true and false. That `nonzero?` returns only truthy/falsy values would be fine, except using its return values are _useful_. `value.nonzero? || calculation` or `(a <=> b).nonzero? || a.subvalue <=> b.subvalue` I would feel more comfortable with `value.nonzero || calculation` even though it is only one character different. Yes, it's a small thing, but I like ruby for the small things :) Thanks. -- https://bugs.ruby-lang.org/