make `nonzero` an alias of `nonzero?`
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.
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 :)
Updated by marcandre (Marc-Andre Lafortune) over 5 years ago
- Assignee set to matz (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