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

【Ruby3.x】CSV::Parser::InputsScanner::scan()メソッドの使い方

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

作成日: 更新日:

基本的な使い方

scanメソッドは、Rubyの標準ライブラリであるCSV::Parser::InputsScannerクラスに属し、CSVデータの解析処理において、入力ストリームから次のデータを効率的に読み進めることを実行するメソッドです。このメソッドは、CSV形式のデータを一行ずつ、またはフィールドごとに読み込む際の基盤となる操作を提供します。具体的には、CSVの構文規則に基づき、区切り文字(コンマなど)、引用符、改行コードといった要素を正確に識別しながら、入力されたテキストデータを順次走査します。

主にCSVパーサーの内部で利用されるもので、通常、Rubyプログラムの開発者がこのメソッドを直接呼び出すことは稀です。しかし、CSVライブラリが複雑なCSV形式のデータであっても正確に解析できるように、内部的なデータ読み込みと現在の位置管理を担う重要な役割を果たします。例えば、引用符で囲まれたフィールド内に区切り文字が含まれている場合や、エスケープされた引用符が存在する場合でも、このscanメソッドがそれらを適切に認識し、次の正しいデータ部分へとスキャナーの位置を進めます。

このように、scanメソッドはCSVデータの構造を理解し、そのルールに基づいて入力データを効率的かつ正確に読み取ることで、最終的にRubyプログラムがCSVファイルを正しく、かつ信頼性高く扱えるようにするための基盤を支えています。

構文(syntax)

1scanner.scan

引数(parameters)

pattern, result_buffer = nil

  • pattern: 検出する正規表現パターン
  • result_buffer = nil: 検出結果を格納する配列 (省略可能、指定しない場合は新しい配列が生成される)

戻り値(return)

String または nil

CSVの次のレコードの先頭までを文字列として返します。CSVの終端に達した場合はnilを返します。

関連コンテンツ