class Fixnum
クラスの継承リスト: Fixnum < Integer < Numeric < Comparable < Object < Kernel < BasicObject
要約
Bignum 同様、整数のクラスです。 演算の結果が Fixnum の範囲を越えた時には 自動的に Bignum に拡張されます。
マシンのポインタのサイズに収まる長さの固定長整数で、 ほとんどのマシンでは 31 ビット幅です。
破壊的な変更
Ruby の Fixnum クラスは immutable です。 つまり、オブジェクト自体を破壊的に変更することはできません。 Bignum も同様です。
例:
p 100000.class # => Fixnum p 100000 * 100000 # => 100000000 p (100000 * 100000).class # => Bignum
インスタンスメソッド
self % other -> Fixnum | Bignum | Float
-
算術演算子。剰余を計算します。
- [PARAM] other:
- 二項演算の右側の引数(対象)
- [RETURN]
- 計算結果
self & other -> Fixnum | Bignum
-
ビット二項演算子。論理積を計算します。
- [PARAM] other:
- 数値
1 & 1 #=> 1 2 & 3 #=> 2
self * other -> Fixnum | Bignum | Float
-
算術演算子。積を計算します。
- [PARAM] other:
- 二項演算の右側の引数(対象)
- [RETURN]
- 計算結果
self ** other -> Fixnum | Bignum | Float
-
算術演算子。冪(べき乗)を計算します。
- [PARAM] other:
- 二項演算の右側の引数(対象)
- [RETURN]
- 計算結果
p 2 ** 3 # => 8 p 2 ** 0 # => 1 p 0 ** 0 # => 1
self ** other -> Integer | Float | Rational
[redefined by rational]rpower(other) -> Integer | Float | Rational
[redefined by rational]-
冪(べき)乗を計算します。other が 0 以下の場合、計算結果を Rational オブジェクトで返します。
- [PARAM] other:
- 自身を other 乗する数
2.rpower(3) # => 8 2.rpower(-3) # => Rational(1, 8)
self + other -> Fixnum | Bignum | Float
-
算術演算子。和を計算します。
- [PARAM] other:
- 二項演算の右側の引数(対象)
- [RETURN]
- 計算結果
self - other -> Fixnum | Bignum | Float
-
算術演算子。差を計算します。
- [PARAM] other:
- 二項演算の右側の引数(対象)
- [RETURN]
- 計算結果
self / other -> Fixnum | Bignum | Float
-
算術演算子。商を計算します。
- [PARAM] other:
- 二項演算の右側の引数(対象)
- [RETURN]
- 計算結果
self / other
[redefined by mathn]-
[TODO]
Fixnum#quo と同じ働きをします(有理数または整数を返します)。
self < other -> bool
-
比較演算子。数値として小さいか判定します。
- [PARAM] other:
- 比較対象の数値
- [RETURN]
- self よりも other が大きい場合 true を返します。 そうでなければ false を返します。
self << bits -> Fixnum | Bignum
-
シフト演算子。bits だけビットを左にシフトします。
- [PARAM] bits:
- シフトさせるビット数
printf("%#b\n", 0b0101 << 1) #=> 0b1010 p -1 << 1 #=> -2
self <= other -> bool
-
比較演算子。数値として等しいまたは小さいか判定します。
- [PARAM] other:
- 比較対象の数値
- [RETURN]
- self よりも other の方が大きい場合か、 両者が等しい場合 true を返します。 そうでなければ false を返します。
self <=> other -> Fixnum
-
self と other を比較して、self が大きい時に正、 等しい時に 0、小さい時に負の整数を返します。
- [PARAM] other:
- 比較対象の数値
- [RETURN]
- -1 か 0 か 1 のいずれか
1 <=> 2 #=> -1 1 <=> 1 #=> 0 2 <=> 1 #=> 1
self == other -> bool
-
比較演算子。数値として等しいか判定します。
- [PARAM] other:
- 比較対象の数値
- [RETURN]
- self と other が等しい場合 true を返します。 そうでなければ false を返します。
self > other -> bool
-
比較演算子。数値として大きいか判定します。
- [PARAM] other:
- 比較対象の数値
- [RETURN]
- self よりも other の方が小さい場合 true を返します。 そうでなければ false を返します。
self >= other -> bool
-
比較演算子。数値として等しいまたは大きいか判定します。
- [PARAM] other:
- 比較対象の数値
- [RETURN]
- self よりも other の方が小さい場合か、 両者が等しい場合 true を返します。 そうでなければ false を返します。
self >> bits -> Fixnum | Bignum
-
シフト演算子。bits だけビットを右にシフトします。
右シフトは、符号ビット(最上位ビット(MSB))が保持されます。 bitsが実数の場合、小数点以下を切り捨てた値でシフトします。
- [PARAM] bits:
- シフトさせるビット数
printf("%#b\n", 0b0101 >> 1) #=> 0b10 p -1 >> 1 #=> -1
self[nth] -> Fixnum
-
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。
- [PARAM] nth:
- 何ビット目を指すかの数値
- [RETURN]
- 1 か 0
self[nth]=bit (つまりビットの修正) がないのは、Numeric 関連クラスが immutable であるためです。
self ^ other -> Fixnum | Bignum
-
ビット二項演算子。排他的論理和を計算します。
- [PARAM] other:
- 数値
1 ^ 1 #=> 0 2 ^ 3 #=> 1
id2name -> String | nil
-
オブジェクトの整数値 self を、ある Symbol オブジェクトに対応する整数値とみなした上で、 そのシンボルを示す文字列を返します。 整数に対応するシンボルは必ずしも存在せず、その場合は nil を返します。
- [RETURN]
- オブジェクト名を示す文字列か nil
例:
:foo.to_i #=> 14585 14585.id2name #=> "foo" 1.id2name #=> nil
Fixnum#to_sym で得たシンボルに対して Symbol#to_s で文字列にしたものとおおかた一致しますが、 nil のときの挙動が異なります。
例:
1.id2name #=> nil 1.to_sym.to_s #=> ""
quo(other) -> Rational
[redefined by rational]-
商を計算して計算結果を Rational オブジェクトで返します。
- [PARAM] other:
- 自身を割る数
例:
1.quo(2) # => Rational(1,2)
size -> Fixnum
-
整数の実装上のサイズをバイト数で返します。
現在の実装では Fixnum は、sizeof(long) 固定(多くの 32 bit マシンで 4 バイト)、Bignumは、システム依存です。
p 1.size p 0x1_0000_0000.size # => 4 8
to_f -> Float
-
値を浮動小数点数(Float)に変換します。
to_sym -> Symbol | nil
-
オブジェクトの整数値 self に対応する Symbol オブジェク トを返します。整数に対応するシンボルが存在しない時には nil を返します。
- [RETURN]
- シンボルか nil
例:
:foo.to_i #=> 14585 14585.to_sym #=> :foo 1.to_sym #=> nil
self | other -> Fixnum | Bignum
-
ビット二項演算子。論理和を計算します。
- [PARAM] other:
- 数値
1 | 1 #=> 1 2 | 3 #=> 3
~ -> Fixnum | Bignum
-
ビット演算子。否定を計算します。
~1 #=> -2 ~3 #=> -4 ~-4 #=> 3
- Ruby 1.9.3 リファレンスマニュアル
- はじめに
- コマンド
- Rubyの起動
- 環境変数
- Ruby言語仕様
- 組み込みライブラリ
- クラス
- Array
- BasicObject
- Bignum
- Binding
- Class
- Complex
- Data
- Dir
- Encoding
- Encoding::
Converter - Enumerator
- FalseClass
- Fiber
- File
- File::Stat
- Fixnum
- Float
- Hash
- IO
- Integer
- MatchData
- Method
- Module
- Mutex
- NilClass
- Numeric
- Object
- Proc
- Process::Status
- Random
- Range
- Rational
- Regexp
- String
- Struct
- Struct::Tms
- Symbol
- Thread
- ThreadGroup
- Time
- TrueClass
- UnboundMethod
- モジュール
- オブジェクト
- 例外クラス
- 組み込み関数
(Kernelモジュール関数) - 組み込み定数
(Kernel定数) - 組み込み特殊変数
- クラス
- 標準添付ライブラリ
- pack テンプレート文字列
- sprintf フォーマット
- Ruby用語集
- Rubyで使われる記号の意味
- 疑似BNFによるRubyの文法
- バージョン情報 / このリファレンスについて