整数の抽象クラス。サブクラスとして Fixnum と Bignum があり ます。この 2 種類の整数は値の大きさに応じてお互いに自動的に変換されま す。ビット操作において整数は無限の長さのビットストリングとみなすことが できます。
Integer.induced_from(num)num を Integer に変換した結果を返します。
self[nth]nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。
self[nth]=bit が Integer にないのは、Numeric 関連クラスが
immutable であるためです。
self + other
self - other
self * other
self / other
self % other
self ** other算術演算子。それぞれ和、差、積、商、剰余、冪を計算します。
self <=> otherself と other を比較して、self が大きい時に正、
等しい時に 0、小さい時に負の整数を返します。
self == other
self < other
self <= other
self > other
self >= other比較演算子。
~ self
self | other
self & other
self ^ otherビット演算子。それぞれ否定、論理和、論理積、排他的論理和を計算しま す。
self << bits
self >> bitsシフト演算子。bits だけビットを右(左)にシフトします。
右シフトは、符号ビット(最上位ビット(MSB))が保持されます。
printf("%#b\n", 0b0101 << 1)
printf("%#b\n", 0b0101 >> 1)
=> 0b1010
0b10
p -1 >> 1
=> -1chr文字コードに対応する 1 バイトの文字列を返します。例えば
65.chr は "A" を返します。
逆に文字列から文字コードを得るには "A"[0] とします
(String#[] を参照してください)。
整数は 0 から 255 の範囲内でなければなりません。範囲外の整数に対す る呼び出しは例外 RangeError を発生させます。
downto(min) {|n| ... }self から min まで 1 ずつ減らしながら繰り返します。
self < min であれば何もしません。
next
succ次の整数を返します。
step(limit, step) {|n| ... }self からはじめ step を足しながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。
また、limit や step には Float なども指定できます。
step に 0 を指定した場合は例外 ArgumentError が発生します。
self を返します。
ruby 1.7 feature: Numeric#step も参照。
times {|n| ... }self 回だけ(0 から self-1 まで)繰り返します。
self が負であれば何もしません。
self を返します。
to_i
to_intself を返します。
size整数の実装上のサイズをバイト数で返します。
現在の実装では Fixnum は、sizeof(long) 固定(多くの 32
bit マシンで 4 バイト)、Bignumは、システム依存です。
p 1.size
p 0x1_0000_0000.size
# => 4
8to_f値を浮動小数点数(Float)に変換します。
to_s
to_s(base) ((<ruby 1.7 feature>))整数を 10 進文字列表現に変換します。
ruby 1.7 feature: 引数を指定すれば、それを基数とした文字列表 現に変換します。基数として 2, 8, 10, 16 以外を指定した場合は例外 ArgumentError が発生します。
p 10.to_s(2) # => "1010" p 10.to_s(8) # => "12" p 10.to_s(16) # => "a"
upto(max) {|n| ... }self から max まで 1 ずつ増やしながら繰り返します。
self > max であれば何もしません。
self を返します。