Actions
Feature #11918
closedMake #finite? consistent with #nonzero?
Status:
Feedback
Assignee:
-
Target version:
-
Description
Calling .nonzero?
on a number returns itself (truthy) or nil, but calling .finite?
on a float is just true or false.
Floats can produce Infinity without errors and cause downstream errors if that result is unexpected. This would be nice to have:
top, bottom = 9.9, 0.0
(top / bottom).finite? or raise DivisionByZero
(top / bottom).finite? || 0.0
(9.9 / 2.0).finite? #=> 0.5
(9.9 / 0.0).finite? #=> nil
These semantics would let the user handle the desired behaviour immediately in place.
Actions
Like0
Like0Like0