k-tokitoh

2019-09-28

X進数の数値リテラルほか

リファレンスのなぞり書き。

X 進数の数値リテラル

接頭辞をつけることで 10 進数以外の表記でリテラルを記述できる。 接頭辞と整合的でない入力が続いた場合はエラーを返す。

16 進数 => 接頭辞 0x

0x10 # => 16 0x1g # => SyntaxError

2 進数 => 接頭辞 0b

0b10 # => 2 0b12 # => SyntaxError

8 進数 => 接頭辞 0o or 0

0o10 # => 8 0o19 # => SyntaxError 010 # => 8 019 # => SyntaxError

String#hex

レシーバを 16 進数表記とみなして、相当する値を integer で返す。

‘10’.hex # => 16

16 進数として認識できる文字がない場合は 0 を返す。

”.hex # => 0

レシーバに含まれる文字は以下のいずれかとして解釈される。

String#oct

String#hex の 8 進数版。

String#to_i

String#to_i(base = 10) -> Integer