[ruby-core:76472] [Ruby trunk Feature#12602] Add NilClass#to_d

From: Dendoh@...
Date: 2016-07-20 08:36:29 UTC
List: ruby-core #76472
Issue #12602 has been reported by Chun-wei Kuo.

----------------------------------------
Feature #12602: Add NilClass#to_d
https://bugs.ruby-lang.org/issues/12602

* Author: Chun-wei Kuo
* Status: Open
* Priority: Normal
* Assignee: 
----------------------------------------
`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  # => #<BigDecimal:7fa4f11f0958,'0.123E1',18(36)>
```

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: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next