Ruby 2.4.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Kernelモジュール > Integer

module function Kernel.#Integer

Integer(arg, base = 0) -> Integer[permalink][rdoc]

引数を整数(Fixnum,Bignum)に変換した結果を返します。

引数が数値の場合は直接変換し(小数点以下切り落とし)、 文字列の場合は、進数を表す接頭辞を含む整数表現とみなせる文字列のみ 変換します。

数値と文字列以外のオブジェクトに対しては arg.to_int, arg.to_i を この順に使用して変換します。

[PARAM] arg:
変換対象のオブジェクトです。
[PARAM] base:
基数として0か2から36の整数を指定します(引数argに文字列を指 定した場合のみ)。省略するか0を指定した場合はプリフィクスか ら基数を判断します。その場合に認識できるプリフィクスは、0b (2 進数)、0 (8 進数)、0o (8 進数)、0d (10 進数)、0x (16 進 数) です。
[EXCEPTION] ArgumentError:
整数と見なせない文字列を引数に指定した場合に発生します。
[EXCEPTION] TypeError:
メソッド to_int, to_i を持たないオブジェクトを引数に指定したか、to_int, to_i が整数(Integerのサブクラス)を返さなかった場合に発生します。
[EXCEPTION] TypeError:
引数に nil を指定した場合に発生します。
p Integer(4)          #=> 4
p Integer(4_000)      #=> 4000
p Integer(9.88)       #=> 9

p Integer(nil)        # can't convert nil into Integer (TypeError)
p Integer(Object.new) # cannot convert Object into Integer (TypeError)

p Integer("10")       #=> 10
p Integer("10", 2)    #=> 2
p Integer("0d10")     #=> 10
p Integer("010")      #=> 8
p Integer("0o10")     #=> 8
p Integer("0x10")     #=> 16
p Integer("0b10")     #=> 2
p Integer(" \n10\t ") #=> 10 # 先頭と末尾の空白類は無視される
p Integer("1\n0")     # `Integer': invalid value for Integer: "1\n0" (ArgumentError)
p Integer("hoge")     # `Integer': invalid value for Integer: "hoge" (ArgumentError)
p Integer("")         # `Integer': invalid value for Integer: "" (ArgumentError)

[SEE_ALSO] String#hex,String#oct,String#to_i,Integer