種類
- インスタンスメソッド (62)
- モジュール関数 (6)
- クラス (3)
モジュール
- Kernel (2)
- ObjectSpace (4)
キーワード
- % (2)
- & (2)
- * (2)
- ** (2)
- + (2)
- - (2)
- -@ (1)
-
/ (2) - < (1)
- << (3)
- <= (1)
- <=> (2)
- == (1)
- > (1)
- >= (1)
- >> (2)
- Integer (2)
- Numeric (1)
- [] (2)
- ^ (2)
- abs (2)
-
bit
_ length (2) - dig (1)
- div (2)
- divmod (1)
-
each
_ object (4) - even? (1)
- fdiv (1)
- hash (1)
- inspect (1)
- magnitude (2)
- modulo (2)
- odd? (1)
- remainder (1)
-
set
_ trace _ func (1) - size (2)
- succ (1)
-
to
_ f (1) -
to
_ s (2) - transpose (1)
- zero? (1)
- | (2)
- ~ (2)
検索結果
先頭5件
-
Fixnum (114007.0)
-
Alias of Integer
Alias of Integer -
Fixnum
# size -> Fixnum (63328.0) -
整数の実装上のサイズをバイト数で返します。
整数の実装上のサイズをバイト数で返します。
現在の実装では Fixnum は、sizeof(long) 固定(多くの 32
bit マシンで 4 バイト)、Bignumは、システム依存です。
p 1.size
p 0x1_0000_0000.size
# => 4
8 -
Fixnum
# %(other) -> Fixnum | Bignum | Float (63313.0) -
算術演算子。剰余を計算します。
算術演算子。剰余を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Fixnum
# / (other) -> Fixnum | Bignum | Float (63313.0) -
算術演算子。商を計算します。
算術演算子。商を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Fixnum
# abs -> Fixnum | Bignum (63313.0) -
self の絶対値を返します。
self の絶対値を返します。 -
Fixnum
# div(other) -> Fixnum | Bignum | Float (63313.0) -
算術演算子。商を計算します。
算術演算子。商を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Fixnum
# magnitude -> Fixnum | Bignum (63313.0) -
self の絶対値を返します。
self の絶対値を返します。 -
Fixnum
# modulo(other) -> Fixnum | Bignum | Float (63313.0) -
算術演算子。剰余を計算します。
算術演算子。剰余を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Fixnum
# &(other) -> Fixnum | Bignum (63310.0) -
ビット二項演算子。論理積を計算します。
ビット二項演算子。論理積を計算します。
@param other 数値
1 & 1 #=> 1
2 & 3 #=> 2 -
Fixnum
# *(other) -> Fixnum | Bignum | Float (63310.0) -
算術演算子。積を計算します。
算術演算子。積を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Fixnum
# **(other) -> Fixnum | Bignum | Float (63310.0) -
算術演算子。冪(べき乗)を計算します。
算術演算子。冪(べき乗)を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果
2 ** 3 # => 8
2 ** 0 # => 1
0 ** 0 # => 1 -
Fixnum
# +(other) -> Fixnum | Bignum | Float (63310.0) -
算術演算子。和を計算します。
算術演算子。和を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Fixnum
# -(other) -> Fixnum | Bignum | Float (63310.0) -
算術演算子。差を計算します。
算術演算子。差を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Fixnum
# <<(bits) -> Fixnum | Bignum (63310.0) -
シフト演算子。bits だけビットを左にシフトします。
シフト演算子。bits だけビットを左にシフトします。
@param bits シフトさせるビット数
printf("%#b\n", 0b0101 << 1) #=> 0b1010
p -1 << 1 #=> -2 -
Fixnum
# <=>(other) -> Fixnum (63310.0) -
self と other を比較して、self が大きい時に正、 等しい時に 0、小さい時に負の整数を返します。
self と other を比較して、self が大きい時に正、
等しい時に 0、小さい時に負の整数を返します。
@param other 比較対象の数値
@return -1 か 0 か 1 のいずれか
1 <=> 2 #=> -1
1 <=> 1 #=> 0
2 <=> 1 #=> 1 -
Fixnum
# >>(bits) -> Fixnum | Bignum (63310.0) -
シフト演算子。bits だけビットを右にシフトします。
シフト演算子。bits だけビットを右にシフトします。
右シフトは、符号ビット(最上位ビット(MSB))が保持されます。
bitsが実数の場合、小数点以下を切り捨てた値でシフトします。
@param bits シフトさせるビット数
printf("%#b\n", 0b0101 >> 1) #=> 0b10
p -1 >> 1 #=> -1 -
Fixnum
# [](nth) -> Fixnum (63310.0) -
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1
を、そうでなければ 0 を返します。
@param nth 何ビット目を指すかの数値
@return 1 か 0
self[nth]=bit (つまりビットの修正) がないのは、Numeric 関連クラスが
immutable であるためです。 -
Fixnum
# ^(other) -> Fixnum | Bignum (63310.0) -
ビット二項演算子。排他的論理和を計算します。
ビット二項演算子。排他的論理和を計算します。
@param other 数値
1 ^ 1 #=> 0
2 ^ 3 #=> 1 -
Fixnum
# succ -> Fixnum | Bignum (63310.0) -
self の次の整数を返します。
self の次の整数を返します。 -
Fixnum
# |(other) -> Fixnum | Bignum (63310.0) -
ビット二項演算子。論理和を計算します。
ビット二項演算子。論理和を計算します。
@param other 数値
1 | 1 #=> 1
2 | 3 #=> 3 -
Fixnum
# ~ -> Fixnum | Bignum (63310.0) -
ビット演算子。否定を計算します。
ビット演算子。否定を計算します。
~1 #=> -2
~3 #=> -4
~-4 #=> 3 -
Fixnum
# -@ -> Integer (63007.0) -
単項演算子の - です。 self の符号を反転させたものを返します。
単項演算子の - です。
self の符号を反転させたものを返します。 -
Fixnum
# <(other) -> bool (63007.0) -
比較演算子。数値として小さいか判定します。
比較演算子。数値として小さいか判定します。
@param other 比較対象の数値
@return self よりも other が大きい場合 true を返します。
そうでなければ false を返します。 -
Fixnum
# <=(other) -> bool (63007.0) -
比較演算子。数値として等しいまたは小さいか判定します。
比較演算子。数値として等しいまたは小さいか判定します。
@param other 比較対象の数値
@return self よりも other の方が大きい場合か、
両者が等しい場合 true を返します。
そうでなければ false を返します。 -
Fixnum
# ==(other) -> bool (63007.0) -
比較演算子。数値として等しいか判定します。
比較演算子。数値として等しいか判定します。
@param other 比較対象の数値
@return self と other が等しい場合 true を返します。
そうでなければ false を返します。 -
Fixnum
# >(other) -> bool (63007.0) -
比較演算子。数値として大きいか判定します。
比較演算子。数値として大きいか判定します。
@param other 比較対象の数値
@return self よりも other の方が小さい場合 true を返します。
そうでなければ false を返します。 -
Fixnum
# >=(other) -> bool (63007.0) -
比較演算子。数値として等しいまたは大きいか判定します。
比較演算子。数値として等しいまたは大きいか判定します。
@param other 比較対象の数値
@return self よりも other の方が小さい場合か、
両者が等しい場合 true を返します。
そうでなければ false を返します。 -
Fixnum
# bit _ length -> Integer (63007.0) -
self を表すのに必要なビット数を返します。
self を表すのに必要なビット数を返します。
「必要なビット数」とは符号ビットを除く最上位ビットの位置の事を意味しま
す。2**n の場合は n+1 になります。self にそのようなビットがない(0 や
-1 である)場合は 0 を返します。
例: ceil(log2(int < 0 ? -int : int+1)) と同じ結果
(-2**12-1).bit_length # => 13
(-2**12).bit_length # => 12
(-2**12+1).bit_length # => 12
-0x101.bit_len... -
Fixnum
# divmod(other) -> [Integer , Numeric] (63007.0) -
self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にし て返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にし
て返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
@param other self を割る数。
@see Numeric#divmod -
Fixnum
# even? -> bool (63007.0) -
self が偶数の場合に true を返します。そうでない場合に false を返します。
self が偶数の場合に true を返します。そうでない場合に false を返します。 -
Fixnum
# fdiv(other) -> Float | Complex (63007.0) -
self を other で割った商を Float で返します。 ただし Complex が関わる場合は例外です。 その場合も成分は Float になります。
self を other で割った商を Float で返します。
ただし Complex が関わる場合は例外です。
その場合も成分は Float になります。
@param other self を割る数を指定します。
@see Numeric#quo -
Fixnum
# inspect(base = 10) -> String (63007.0) -
self を引数で指定した基数の文字列表現に変換します。
self を引数で指定した基数の文字列表現に変換します。
@param base 基数を 2 から 36 の整数で指定します。
12345.to_s #=> "12345"
12345.to_s(2) #=> "11000000111001"
12345.to_s(8) #=> "30071"
12345.to_s(10) #=> "12345"
12345.to_s(16) #=> "3039"
12345.to_s(36) #=> "9ix" -
Fixnum
# odd? -> bool (63007.0) -
self が奇数の場合に true を返します。そうでない場合に false を返します。
self が奇数の場合に true を返します。そうでない場合に false を返します。 -
Fixnum
# to _ f -> Float (63007.0) -
値を浮動小数点数(Float)に変換します。
値を浮動小数点数(Float)に変換します。 -
Fixnum
# to _ s(base = 10) -> String (63007.0) -
self を引数で指定した基数の文字列表現に変換します。
self を引数で指定した基数の文字列表現に変換します。
@param base 基数を 2 から 36 の整数で指定します。
12345.to_s #=> "12345"
12345.to_s(2) #=> "11000000111001"
12345.to_s(8) #=> "30071"
12345.to_s(10) #=> "12345"
12345.to_s(16) #=> "3039"
12345.to_s(36) #=> "9ix" -
Fixnum
# zero? -> bool (63007.0) -
self が 0 の場合に true を返します。そうでない場合に false を返します。
self が 0 の場合に true を返します。そうでない場合に false を返します。 -
Bignum
# size -> Fixnum (328.0) -
整数の実装上のサイズをバイト数で返します。
整数の実装上のサイズをバイト数で返します。
現在の実装では Fixnum は、sizeof(long) 固定(多くの 32
bit マシンで 4 バイト)、Bignumは、システム依存です。
p 1.size
p 0x1_0000_0000.size
# => 4
8 -
Bignum
# %(other) -> Fixnum | Bignum | Float (313.0) -
算術演算子。剰余を計算します。
算術演算子。剰余を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Bignum
# / (other) -> Fixnum | Bignum | Float (313.0) -
算術演算子。商を計算します。
算術演算子。商を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Bignum
# abs -> Fixnum | Bignum (313.0) -
self の絶対値を返します。
self の絶対値を返します。 -
Bignum
# div(other) -> Fixnum | Bignum | Float (313.0) -
算術演算子。商を計算します。
算術演算子。商を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Bignum
# magnitude -> Fixnum | Bignum (313.0) -
self の絶対値を返します。
self の絶対値を返します。 -
Bignum
# modulo(other) -> Fixnum | Bignum | Float (313.0) -
算術演算子。剰余を計算します。
算術演算子。剰余を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Bignum
# &(other) -> Fixnum | Bignum (310.0) -
ビット二項演算子。論理積を計算します。
ビット二項演算子。論理積を計算します。
@param other 数値
1 & 1 #=> 1
2 & 3 #=> 2 -
Bignum
# *(other) -> Fixnum | Bignum | Float (310.0) -
算術演算子。積を計算します。
算術演算子。積を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Bignum
# **(other) -> Fixnum | Bignum | Float (310.0) -
算術演算子。冪(べき乗)を計算します。
算術演算子。冪(べき乗)を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果
2 ** 3 # => 8
2 ** 0 # => 1
0 ** 0 # => 1 -
Bignum
# +(other) -> Fixnum | Bignum | Float (310.0) -
算術演算子。和を計算します。
算術演算子。和を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Bignum
# -(other) -> Fixnum | Bignum | Float (310.0) -
算術演算子。差を計算します。
算術演算子。差を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Bignum
# <<(bits) -> Fixnum | Bignum (310.0) -
シフト演算子。bits だけビットを左にシフトします。
シフト演算子。bits だけビットを左にシフトします。
@param bits シフトさせるビット数
printf("%#b\n", 0b0101 << 1) #=> 0b1010
p -1 << 1 #=> -2 -
Bignum
# <=>(other) -> Fixnum | nil (310.0) -
self と other を比較して、self が大きい時に正、 等しい時に 0、小さい時に負の整数を返します。
self と other を比較して、self が大きい時に正、
等しい時に 0、小さい時に負の整数を返します。
@param other 比較対象の数値
@return -1 か 0 か 1 のいずれか
1 <=> 2 #=> -1
1 <=> 1 #=> 0
2 <=> 1 #=> 1 -
Bignum
# >>(bits) -> Fixnum | Bignum (310.0) -
シフト演算子。bits だけビットを右にシフトします。
シフト演算子。bits だけビットを右にシフトします。
右シフトは、符号ビット(最上位ビット(MSB))が保持されます。
bitsが実数の場合、小数点以下を切り捨てた値でシフトします。
@param bits シフトさせるビット数
printf("%#b\n", 0b0101 >> 1) #=> 0b10
p -1 >> 1 #=> -1 -
Bignum
# [](nth) -> Fixnum (310.0) -
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1
を、そうでなければ 0 を返します。
@param nth 何ビット目を指すかの数値
@return 1 か 0
self[nth]=bit (つまりビットの修正) がないのは、Numeric 関連クラスが
immutable であるためです。 -
Bignum
# ^(other) -> Fixnum | Bignum (310.0) -
ビット二項演算子。排他的論理和を計算します。
ビット二項演算子。排他的論理和を計算します。
@param other 数値
1 ^ 1 #=> 0
2 ^ 3 #=> 1 -
Bignum
# remainder(other) -> Fixnum | Bignum | Float (310.0) -
self を other で割った余り r を返します。
self を other で割った余り r を返します。
r の符号は self と同じになります。
@param other self を割る数。
@see Bignum#divmod, Bignum#modulo, Numeric#modulo -
Bignum
# |(other) -> Fixnum | Bignum (310.0) -
ビット二項演算子。論理和を計算します。
ビット二項演算子。論理和を計算します。
@param other 数値
1 | 1 #=> 1
2 | 3 #=> 3 -
Bignum
# ~ -> Fixnum | Bignum (310.0) -
ビット演算子。否定を計算します。
ビット演算子。否定を計算します。
~1 #=> -2
~3 #=> -4
~-4 #=> 3 -
Numeric (169.0)
-
数値を表す抽象クラスです。Integer や Float などの数値クラス は Numeric のサブクラスとして実装されています。
数値を表す抽象クラスです。Integer や Float などの数値クラス
は Numeric のサブクラスとして実装されています。
演算や比較を行うメソッド(+, -, *, /, <=>)は Numeric のサブクラスで定義されま
す。Numeric で定義されているメソッドは、サブクラスで提供されているメソッド
(+, -, *, /, %) を利用して定義されるものがほとんどです。
つまり Numeric で定義されているメソッドは、Numeric のサブクラスとして新たに数値クラスを定義した時に、
演算メソッド(+, -, *, /, %, <=>, coerce)だけを定義すれ... -
Kernel
. # Integer(arg , base = 0) -> Integer (55.0) -
引数を整数(Fixnum,Bignum)に変換した結果を返します。
引数を整数(Fixnum,Bignum)に変換した結果を返します。
引数が数値の場合は直接変換し(小数点以下切り落とし)、
文字列の場合は、進数を表す接頭辞を含む整数表現とみなせる文字列のみ
変換します。
数値と文字列以外のオブジェクトに対しては arg.to_int, arg.to_i を
この順に使用して変換します。
@param arg 変換対象のオブジェクトです。
@param base 基数として0か2から36の整数を指定します(引数argに文字列を指
定した場合のみ)。省略するか0を指定した場合はプリフィクスか
ら基数を判断... -
Kernel
. # set _ trace _ func(proc) -> Proc (43.0) -
Ruby インタプリタのイベントをトレースする Proc オブジェクトとして 指定された proc を登録します。 nil を指定するとトレースがオフになります。
Ruby インタプリタのイベントをトレースする Proc オブジェクトとして
指定された proc を登録します。 nil を指定するとトレースがオフになります。
Ruby インタプリタがプログラムを実行する過程で、メソッドの呼び出しや
式の評価などのイベントが発生する度に、以下で説明する6個の引数とともに
登録された Proc オブジェクトを実行します。
標準添付の debug、tracer、
profile はこの組み込み関数を利用して実現されています。
=== ブロックパラメータの意味
渡す Proc オブジェクトのパラメータは
//emlist[][ruby]{
proc{|... -
ObjectSpace
. # each _ object -> Enumerator (43.0) -
指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
Enumerator オブジェクトを返します。
次のクラスのオブジェクトについては繰り返しません
* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass
とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないことになります。
なお、Sy... -
ObjectSpace
. # each _ object {|object| . . . } -> Integer (43.0) -
指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
Enumerator オブジェクトを返します。
次のクラスのオブジェクトについては繰り返しません
* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass
とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないことになります。
なお、Sy... -
ObjectSpace
. # each _ object(klass) -> Enumerator (43.0) -
指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
Enumerator オブジェクトを返します。
次のクラスのオブジェクトについては繰り返しません
* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass
とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないことになります。
なお、Sy... -
ObjectSpace
. # each _ object(klass) {|object| . . . } -> Integer (43.0) -
指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
Enumerator オブジェクトを返します。
次のクラスのオブジェクトについては繰り返しません
* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass
とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないことになります。
なお、Sy... -
Array
# dig(idx , . . . ) -> object | nil (25.0) -
self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し ます。途中のオブジェクトが nil であった場合は nil を返します。
self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し
ます。途中のオブジェクトが nil であった場合は nil を返します。
@param idx インデックスを整数で任意個指定します。
//emlist[例][ruby]{
a = [[1, [2, 3]]]
a.dig(0, 1, 1) # => 3
a.dig(1, 2, 3) # => nil
a.dig(0, 0, 0) # => TypeError: Fixnum does not have #dig... -
Array
# transpose -> Array (25.0) -
自身を行列と見立てて、行列の転置(行と列の入れ換え)を行いま す。転置した配列を生成して返します。空の配列に対しては空の配列を生 成して返します。
自身を行列と見立てて、行列の転置(行と列の入れ換え)を行いま
す。転置した配列を生成して返します。空の配列に対しては空の配列を生
成して返します。
それ以外の一次元の配列に対しては、例外
TypeError が発生します。各要素のサイズが不揃いな配列に対して
は、例外 IndexError が発生します。
//emlist[例][ruby]{
p [[1,2],
[3,4],
[5,6]].transpose
# => [[1, 3, 5], [2, 4, 6]]
p [].transpose
# => []
p [1,2,3].transpose
# => -:1:i... -
Bignum
# bit _ length -> Integer (25.0) -
self を表すのに必要なビット数を返します。
self を表すのに必要なビット数を返します。
「必要なビット数」とは符号ビットを除く最上位ビットの位置の事を意味しま
す。2**n の場合は n+1 になります。self にそのようなビットがない(0 や
-1 である)場合は 0 を返します。
例: ceil(log2(int < 0 ? -int : int+1)) と同じ結果
(-2**10000-1).bit_length # => 10001
(-2**10000).bit_length # => 10000
(-2**10000+1).bit_length # => 10000
(-2*... -
Exception
# message -> String (25.0) -
エラーメッセージをあらわす文字列を返します。
エラーメッセージをあらわす文字列を返します。
//emlist[例][ruby]{
begin
1 + nil
rescue => e
p e.message #=> "nil can't be coerced into Fixnum"
end
//} -
Exception
# to _ s -> String (25.0) -
エラーメッセージをあらわす文字列を返します。
エラーメッセージをあらわす文字列を返します。
//emlist[例][ruby]{
begin
1 + nil
rescue => e
p e.message #=> "nil can't be coerced into Fixnum"
end
//} -
IO
# <<(object) -> self (25.0) -
object を出力します。object が文字列でない時にはメソッ ド to_s を用いて文字列に変換します。
object を出力します。object が文字列でない時にはメソッ
ド to_s を用いて文字列に変換します。
以下のような << の連鎖を使うことができます。
STDOUT << 1 << " is a " << Fixnum << "\n"
@param object 出力したいオブジェクトを与えます。
@raise Errno::EXXX 出力に失敗した場合に発生します。 -
Integer (25.0)
-
整数クラスです。
整数クラスです。
整数オブジェクトに特異メソッドを追加する事はできません。追加した場合、
TypeError が発生します。
2.4.0 から Fixnum, Bignum は Integerに統合されました。
2.4.0 からはどちらも Integer クラスのエイリアスとなっています。 -
Object
# hash -> Integer (25.0) -
オブジェクトのハッシュ値を返します。このハッシュ値は、Object#eql? と合わせて Hash クラスで、2つのオブジェクトを同一のキーとするか判定するために用いられます。
オブジェクトのハッシュ値を返します。このハッシュ値は、Object#eql? と合わせて Hash クラスで、2つのオブジェクトを同一のキーとするか判定するために用いられます。
2つのオブジェクトのハッシュ値が異なるとき、直ちに異なるキーとして判定されます。
逆に、2つのハッシュ値が同じとき、さらに Object#eql? での比較により判定されます。
そのため、同じキーとして判定される状況は Object#eql? の比較で真となる場合のみであり、このとき前段階としてハッシュ値どうしが等しい必要があります。
つまり、
A.eql?(B) ならば A.hash == B.hash
...