From: crazymykl@... Date: 2014-12-27T03:42:32+00:00 Subject: [ruby-core:67158] [ruby-trunk - Bug #10654] Nil -> Rational Inconsistency 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/