62件ヒット
[1-62件を表示]
(0.055秒)
種類
- インスタンスメソッド (22)
- 文書 (18)
- クラス (11)
- ライブラリ (11)
クラス
- Numeric (11)
-
OpenSSL
:: BN (11)
キーワード
-
NEWS for Ruby 2
. 5 . 0 (7) - Numeric (11)
- Ruby用語集 (11)
- bigdecimal (11)
検索結果
先頭5件
-
Numeric
# coerce(other) -> [Numeric] (18143.0) -
自身と other が同じクラスになるよう、自身か other を変換し [other, self] という配列にして返します。
...ばなりません。
以下は Rational の coerce のソースです。other が自身の知らない数値クラスであった場合、
super を呼んでいることに注意して下さい。
//emlist[例][ruby]{
# lib/rational.rb より
def coerce(other)
if other.kind_of?(Float)
retu......ドとして受け
取ると coerce を使って自分とオペランドを変換した上で演算を行います。
以下は Rational の + メソッドを一部省略したものです。
引数が自身の知らない数値クラスである場合、引数の coerce により自身を変換し......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 オペランドを数値で指定します。... -
OpenSSL
:: BN # coerce(other) -> Array (18131.0) -
自身と other が同じクラスになるよう、自身か other を変換し [other, self] という配列にして返します。
...er が整数のときに、自身を Integer のオブジェクトに
変換して [other, 変換後オブジェクト] にして返します。
それ以外の場合は例外 TypeError を発生させます。
//emlist[][ruby]{
require 'openssl'
p 1.to_bn.coerce(2) # => [2, 1]
//}
@param other......変換の基準となるオブジェクト
@raise TypeError 変換に失敗した場合に発生します
coerce メソッドの詳細な説明は、Numeric#coerce にあります。
@see Numeric#coerce... -
Ruby用語集 (150.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
...大きな整数オブジェクトが属す
クラスだった。Ruby 2.4 で Fixnum と共に Integer に一本化された。
このとき Bignum は形式的には残されたが単なる Integer のエイリアスとなった。
: blade
Ruby の各種メーリングリストのアーカイ......。
===[a:C] C
: Coerce
異なるクラスの値同士の演算を効率よく実装するための手法の一つ。
例えば新しい数値クラス N を定義し、Integer と N の演算を可能にしたいとする。
Integer と N の加算を行うと、Integer 側では相手が......ず相手側の N#coerce を呼ぶ。N#coerce では self と引数を、既に加算が定義された
オブジェクトのペアに変換して返す。Integer 側ではそれらの加算を行う。
この方法では、N#coerce さえ適切に定義しておけば、Integer 側を変更せ... -
Numeric (94.0)
-
数値を表す抽象クラスです。Integer や Float などの数値クラス は Numeric のサブクラスとして実装されています。
...数値を表す抽象クラスです。Integer や Float などの数値クラス
は Numeric のサブクラスとして実装されています。
演算や比較を行うメソッド(+, -, *, /, <=>)は Numeric のサブクラスで定義されま
す。Numeric で定義されているメソッ......いるメソッドは、Numeric のサブクラスとして新たに数値クラスを定義した時に、
演算メソッド(+, -, *, /, %, <=>, coerce)だけを定義すれば、数値クラスのそのほかのメソッドが
適切に定義されることを意図して提供されています......す。
効率のため Numeric のメソッドと同じメソッドがサブクラスで再定義されている場合があります。
Numeric#coerce メソッドを使うことによって異なる数値クラス間で演算を行うこともできます。
=== 数値関連のメソッドを... -
NEWS for Ruby 2
. 5 . 0 (84.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...う。 13405
* Integer
* Integer#round, Integer#floor, Integer#ceil, Integer#truncate は常に Integer を返すようになりました
13420
* Integer#pow を追加 12508 11003
* Integer#allbits?, Integer#anybits?, Integer#nobits? を追加 12753
* Integer.sqrt を追加......い引数が与えられたときcoerce内部で発生したエラーを隠蔽しないようになりました。
7688
* 数値の比較メソッド(<,<=,>=,>)は、coerceメソッドで発生した例外を隠蔽しなくなりました。
coerceがnilを返す場合、変換は不... -
bigdecimal (18.0)
-
bigdecimal は浮動小数点数演算ライブラリです。 任意の精度で 10 進表現された浮動小数点数を扱えます。
...0") # => true
1 / BigDecimal("0.0") # => Infinity
1 / BigDecimal("-0.0") # => -Infinity
//}
=== 他の数値オブジェクトとの変換 (coerce)
BigDecimal オブジェクトが算術演算子の左にあるときは、
BigDecimal オブジェクトが右にあるオブジェクトを
(......を区別します)。
ただし、mode メソッドで false を指定した場合は例外が発生します。
また、BigDecimalクラスは coerce(Ruby本参照)をサポートしています。
従って、BigDecimal オブジェクトが右にある場合も大抵は大丈夫です。
ただ......math"
a = BigMath.E(10)
p c = "0.123456789" * a # => "0.1234567890.123456789"
//}
これは、String#* の内部で、BigDecimal が暗黙的に Integer に変換された結果です。
===[a:internal_structure] 内部構造
BigDecimal内部で浮動小数点は構造体(Real)で表現されま...