From: andyogzewalla@... Date: 2017-10-13T16:50:07+00:00 Subject: [ruby-core:83266] [Ruby trunk Feature#12602] Add NilClass#to_d Issue #12602 has been updated by wizardofogz (Andy Ogzewalla). I think this is a good addition to make behavior of numeric types consistent. Is there a reason this was not done initially? ---------------------------------------- Feature #12602: Add NilClass#to_d https://bugs.ruby-lang.org/issues/12602#change-67225 * Author: Domon (Chun-wei Kuo) * Status: Assigned * Priority: Normal * Assignee: mrkn (Kenta Murata) * Target version: ---------------------------------------- `bigdecimal/util` adds a `#to_d` method to many native classes, as a shortcut to converting them to `BigDecimal`, e.g. ```ruby require 'bigdecimal' require 'bigdecimal/util' 1.23.to_d # => # ``` However, `#to_d` is not added to `NilClass`: ```ruby nil.to_d # => NoMethodError: undefined method `to_d' for nil:NilClass ``` While `to_i`, `to_f`, etc. works on `nil`: ```ruby nil.to_i # => 0 nil.to_f # => 0.0 ``` I think it is reasonable to make `to_d` behave more like its counterparts. Therefore, I tried implementing the `NilClass#to_d` method in `bigdecimal/util` with a test. The method always returns `0` in `BigDecimal`. Please see attached patch. Thanks! :) ---Files-------------------------------- add-nil-to-d.patch (1.34 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: