Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】StringScanner::scan_integer()メソッドの使い方

scan_integerメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

scan_integerメソッドは、RubyのStringScannerクラスに属するインスタンスメソッドです。このメソッドは、StringScannerオブジェクトが保持する文字列の現在のスキャン位置から整数値を読み取ることを実行するメソッドです。

具体的には、現在のスキャン位置から、10進数、16進数(0xまたは0Xプレフィックス)、8進数(0または0o/0Oプレフィックス)、2進数(0b/0Bプレフィックス)といった様々な基数の整数形式を自動的に認識し、対応するIntegerオブジェクトとして返します。負の数も適切に処理されます。

読み取りに成功した場合、StringScannerの内部的なスキャンポインタは、読み取られた整数の直後の位置に移動します。これにより、次のスキャンをスムーズに開始できます。もし現在のスキャン位置から有効な整数値を読み取ることができなかった場合は、nilを返します。

このメソッドは、ログファイルのパース、設定ファイルの読み込み、または特定のデータ形式から数値を安全かつ柔軟に抽出したい場合に非常に有効です。正規表現を複雑に記述することなく、効率的に数値データを取り扱うための強力な機能を提供します。システムエンジニアを目指す上で、文字列処理の基本的なテクニックとして理解しておくと良いでしょう。

構文(syntax)

1require 'strscan'
2
3scanner = StringScanner.new('123hello')
4result = scanner.scan_integer

引数(parameters)

base = nil

  • base = nil: 整数を解釈する際の基数(進数)を指定します。nil の場合は、自動的に基数が判別されます。

戻り値(return)

Integer または nil

指定された文字列から整数をスキャンし、見つかった場合はその整数値を、見つからなかった場合は nil を返します。

関連コンテンツ

関連プログラミング言語