scan_integer(base: 10) -> Integer | nilRuby 3.4 から[permalink][rdoc][edit]-
スキャンポインタの地点から整数をスキャンし、
Integerに変換して返します。マッチしなかった場合はnilを返します。baseを省略した場合や 10 を指定した場合は/[+-]?\d+/にマッチする部分をスキャンします。baseに 16 を指定した場合は/[+-]?(0x)?[0-9a-fA-F]+/にマッチする部分をスキャンします。- [PARAM]
base: - スキャンする整数の基数を指定します。10 または 16 を指定できます。
- [EXCEPTION]
ArgumentError: -
baseに 10, 16 以外を指定すると発生します。 - [EXCEPTION]
Encoding::CompatibilityError: - スキャン対象の文字列が ASCII 互換でないエンコーディングのとき発生します。
例: 16 進数require 'strscan' s = StringScanner.new('42end') p s.scan_integer # => 42 p s.rest # => "end" s = StringScanner.new('-3') p s.scan_integer # => -3 s = StringScanner.new('abc') p s.scan_integer # => nilrequire 'strscan' s = StringScanner.new('0x1fg') p s.scan_integer(base: 16) # => 31 p s.rest # => "g"[SEE_ALSO] StringScanner#scan, StringScanner#scan_byte
- [PARAM]