Feature #10365
closed`Rational#to_a` and `Array#to_r`
Description
I guess people would want to extract the numerator and the denominator of an array. to_a would perhaps be a good name:
It also might be useful if Array#to_r were provided as an alternative way to create a rational from an array:
This would be equivalent to Rational(*[4, 6]).
Updated by sawa (Tsuyoshi Sawada) almost 12 years ago
Updated by nobu (Nobuyoshi Nakada) almost 12 years ago
IMHO, splatting a rational doesn't feel to make sense, so to_a doesn't feel appropriate.
Updated by jeremyevans0 (Jeremy Evans) almost 12 years ago
Wouldn't the proposed Rational#to_a break backwards compatibility, as well as consistency with other numeric classes:
Currently:
Array(1) # => [1]
Array(1.0) # => [1.0]
Array(BigDecimal.new('1.0')) # => [#BigDecimal:12c032467878,'0.1E1',9(18)]
Array(Complex(1, 2)) => [(1+2i)]
Array(1/2r) # => [(1/2)]
With proposed method:
Array(1/2r) # => [1, 2]
Updated by sawa (Tsuyoshi Sawada) almost 12 years ago
I think Nobuyoshi Nakada and Jeremy Evans are right. I will withdraw to_a from the proposal.
Updated by matz (Yukihiro Matsumoto) almost 12 years ago
- Status changed from Open to Rejected
And without having Rational#to_a, Array#to_r does not mean much.
So I reject this.
Matz.