[ruby-core:78191] [Ruby trunk Bug#12952] Incompatibility of a method signature between `Float#round` and `BigDecimal#round`
From:
spiketeika@...
Date:
2016-11-18 06:41:02 UTC
List:
ruby-core #78191
Issue #12952 has been reported by Kaneko Yuichiro.
----------------------------------------
Bug #12952: Incompatibility of a method signature between `Float#round` and `BigDecimal#round`
https://bugs.ruby-lang.org/issues/12952
* Author: Kaneko Yuichiro
* Status: Open
* Priority: Normal
* Assignee:
* ruby -v: ruby 2.4.0preview3 (2016-11-07 trunk 56661) [x86_64-darwin14]
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
We can not call `BigDecimal("0.5").round(half: :up)`.
This prevents us from duck typing Float objects and BigDecimal objects.
```ruby
irb(main):001:0> require "bigdecimal"
=> true
irb(main):002:0> 0.5.round(half: :up)
=> 1
irb(main):003:0> BigDecimal("0.5").round(half: :up)
TypeError: no implicit conversion of Hash into Integer
from (irb):3:in `round'
from (irb):3
from /Users/kaneko/.rbenv/versions/2.4.0-preview3/bin/irb:11:in `<main>'
irb(main):004:0> BigDecimal.ver
=> "1.1.0"
```
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>