[ruby-core:67158] [ruby-trunk - Bug #10654] Nil -> Rational Inconsistency

From: crazymykl@...
Date: 2014-12-27 03:42:32 UTC
List: ruby-core #67158
Issue #10654 has been updated by Mike MacDonald.


Current behavior is consistent with other number types:
```
Integer(nil) # => TypeError
nil.to_i # => 0
```

Calling the global function raises if the conversion is not well defined, whereas the explicit conversion method instead produces the zero (i. e. the additive identity) for that type.

----------------------------------------
Bug #10654: Nil -> Rational Inconsistency
https://bugs.ruby-lang.org/issues/10654#change-50649

* Author: Kyle Decot
* Status: Open
* Priority: Normal
* Assignee: 
* Category: core
* Target version: current: 2.2.0
* ruby -v: ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
I'm not sure if this is a bug or not but there seems to be some inconsistency in creating a rational from nil.

Rational(nil) # => TypeError: can't convert nil into Rational
nil.to_r # => (1/0)

I would think that the latter would produce a TypeError.

Thoughts?



-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next