Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Integerクラス
class Integer
クラスの継承リスト: Integer < Numeric < Comparable < Object < Kernel < BasicObject
Abstract
整数の抽象クラス。サブクラスとして Fixnum と Bignum があり ます。この 2 種類の整数は値の大きさに応じてお互いに自動的に変換されま す。ビット操作において整数は無限の長さのビットストリングとみなすことが できます。
インスタンスメソッド
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
[redefined by rational]-
べき乗。
- otherが正または0の整数(Integer)ならば、整数(Integer)を返す。
- otherが負の整数(Integer)ならば、有理数(Rational)を返す。
- otherが有理数(Rational)や浮動小数(Float)ならば、浮動小数(Float)を返す。
2 ** 3 #=> 8 2 ** -3 #=> Rational(1, 8) 2 ** Rational(3) #=> 8.0
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 rational]-
除算。
- otherが有理数(Rational)ならば、有理数(Rational)を返す。
- otherがそれ以外なら、Integer#/と同じ。つまり、 other が整数(Integer)ならば、整数(Integer)を(整除)、浮動小数(Float)ならば、 浮動小数(Float)を返す。 ただし、いずれも、other == 0 の時は、ZeroDivisionErrorとなる。
self / other -> Fixnum | Bignum | Float
-
算術演算子。商を計算します。
- [PARAM] other:
- 二項演算の右側の引数(対象)
- [RETURN]
- 計算結果
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 (つまりビットの修正) が Integer にないのは、Numeric 関連クラスが immutable であるためです。
self ^ other -> Fixnum | Bignum
-
ビット二項演算子。排他的論理和を計算します。
- [PARAM] other:
- 数値
1 ^ 1 #=> 0 2 ^ 3 #=> 1
chr -> String
-
文字コードに対応する 1 バイトの文字列を返します。
例えば65.chr は "A" を返します。
逆に文字列から文字コードを得るには "A"[0] とします
- [RETURN]
- 1バイト文字列
- [EXCEPTION] RangeError:
- self が 0 から 255 の範囲外の場合に発生します。
[SEE_ALSO] String#[]
downto(min) {|n| ... } -> self
downto(min) -> Enumerable::Enumerator
-
self から min まで 1 ずつ減らしながらブロックを繰り返し実行します。 self < min であれば何もしません。
- [PARAM] min:
- 数値
- [RETURN]
- self を返します。
[SEE_ALSO] Integer#upto, Integer#step, Integer#times
even? -> bool
-
self が偶数であれば真を返します。
Returns true if int is an even number.
integer? -> true
-
常に真を返します。
next -> Fixnum | Bignum
succ -> Fixnum | Bignum
-
self の次の整数を返します。
odd? -> bool
-
self が奇数であれば真を返します。
Returns true if int is an odd number.
ord -> Integer
-
Returns the int itself.
?a.ord #=> 97
This method is intended for compatibility to character constant in Ruby 1.9. For example, ?a.ord returns 97 both in 1.8 and 1.9.
pred -> Integer
-
self から -1 した値を返します。
1.pred #=> 0 (-1).pred #=> -2
size -> Fixnum
-
整数の実装上のサイズをバイト数で返します。
現在の実装では Fixnum は、sizeof(long) 固定(多くの 32 bit マシンで 4 バイト)、Bignumは、システム依存です。
p 1.size p 0x1_0000_0000.size # => 4 8
step(limit, step) {|n| ... } -> self
-
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。 また、limit や step には Float なども指定できます。
Numeric#step も参照。
- [PARAM] limit:
- 数値
- [PARAM] step:
- 数値
- [RETURN]
- self を返します。
- [EXCEPTION] ArgumentError:
- step に 0 を指定した場合に発生します。
[SEE_ALSO] Integer#upto, Integer#downto, Integer#times
times {|n| ... } -> self
times -> Enumerable::Enumerator
-
self 回だけ(0 から self-1 まで)繰り返します。 self が負であれば何もしません。
- [RETURN]
- self を返します。
3.times { puts "Hello, World!" } # Hello, World! と3行続いて表示される。
[SEE_ALSO] Integer#upto, Integer#downto, Integer#step
to_f -> Float
-
値を浮動小数点数(Float)に変換します。
to_i -> self
to_int -> self
-
self を返します。
to_s -> String
to_s(base) -> String
-
整数を 10 進文字列表現に変換します。
引数を指定すれば、それを基数とした文字列表 現に変換します。
p 10.to_s(2) # => "1010" p 10.to_s(8) # => "12" p 10.to_s(16) # => "a" p 35.to_s(36) # => "z"
- [RETURN]
- 数値の文字列表現
- [PARAM] base:
- 基数となる 2 - 36 の数値。
- [EXCEPTION] ArgumentError:
- base に 2 - 36 以外の数値を指定した場合に発生します。
upto(max) {|n| ... } -> Fixnum | Bignum
upto(max) -> Enumerable::Enumerator
-
self から max まで 1 ずつ増やしながら繰り返します。 self > max であれば何もしません。
- [PARAM] max:
- 数値
- [RETURN]
- self を返します。
[SEE_ALSO] Integer#downto, Integer#step, Integer#times
self | other -> Fixnum | Bignum
-
ビット二項演算子。論理和を計算します。
- [PARAM] other:
- 数値
1 | 1 #=> 1 2 | 3 #=> 3
~ -> Fixnum | Bignum
-
ビット演算子。否定を計算します。
~1 #=> -2 ~3 #=> -4 ~-4 #=> 3
追加されるメソッド
denominator
[added by rational]-
In an integer, the denominator is 1. Therefore, this method returns 1.
from_prime_division(pd)
[added by mathn]-
素因数分解の配列 pd から数を求めます。 pd は [素因数, 指数] 組の配列です。
例:
Integer.from_prime_division [[2,3],[3,2]] # => 72 # == 2**3 * 3**2
Instance Methods
gcd(n)
[added by rational]-
self と n の最大公約数を Fixnum として返す。 self や n が負の場合は、正に変換してから計算する。
72.gcd 168 # -> 24 19.gcd 36 # -> 1
gcd2(int)
[added by mathn]-
self と int の最大公約数を求めます。
例:
12.gcd2 8 # => 4
gcdlcm(int)
[added by rational]-
最大公約数と最小公倍数の配列 [self.gcd, self.lcm] を返します。
6.gcdlcm 9 # -> [3, 18]
lcm(n)
[added by rational]-
self と n の最小公倍数を返す。 self や n が負の場合は、正に変換してから計算する。
6.lcm 7 # -> 42 6.lcm 9 # -> 18
numerator
[added by rational]-
In an integer, the value is the numerator of its rational equivalent. Therefore, this method returns self.
power!(other)
[added by rational]-
rationalで再定義される前のInteger#**の別名。 other が正または 0 の整数 (Integer) ならば、 整数 (Integer) を、それ以外なら、浮動小数 (Float) を返す。
prime_division
[added by mathn]-
self の素因数分解(の配列)を求めます。
例:
72.prime_division # => [[2, 3], [3, 2]]
to_r
[added by rational]-
対応する有理数 (Rational) を返す。 Rational(self, 1) と同じ。