るりまサーチ

最速Rubyリファレンスマニュアル検索!
11件ヒット [1-11件を表示] (0.057秒)
トップページ > クエリ:float[x] > クエリ:>[x] > クエリ:-[x] > クエリ:new[x] > クラス:Numeric[x]

別のキーワード

  1. _builtin >
  2. bigdecimal >
  3. float >
  4. complex >
  5. module >

ライブラリ

検索結果

Numeric#coerce(other) -> [Numeric] (231.0)

自身と other が同じクラスになるよう、自身か other を変換し [other, self] という配列にして返します。

...を変換し [other, self] という配列にして返します。

デフォルトでは self と other を Float に変換して [other, self] という配列にして返します。
Numeric
のサブクラスは、このメソッドを適切に再定義しなければなりません。
以下は...
...て下さい。


//emlist[例][ruby]{
# lib/rational.rb より

def coerce(other)
if other.kind_of?(Float)
return other, self.to_f
elsif other.kind_of?(Integer)
return Rational.new!(other, 1), self
else
super
end
end
//}

数値クラスの算術演算子は通常自分と演算...
...b/rational.rb より

def + (a)
if a.kind_of?(Rational)
# 長いので省略
elsif a.kind_of?(Integer)
# 長いので省略
elsif a.kind_of?(Float)
Float
(self) + a
else
x, y = a.coerce(self)
x + y
end
end
//}

@param other オペランドを数値で指定します。...