【Ruby3.x】StringScanner::<<()メソッドの使い方
<<メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
<<メソッドは、StringScannerオブジェクトが現在スキャンしている文字列の末尾に、新しい文字列を追加するメソッドです。このメソッドは、スキャン対象の文字列の内容を、後から動的に拡張したい場合に非常に便利に使用できます。
具体的には、<<メソッドの引数として与えられた文字列は、StringScannerオブジェクトが内部的に保持しているスキャン対象の文字列の終端に連結されます。この操作によって、スキャナが現在読み取っている位置、つまり「どこまで文字列を読み進んだか」を示すポインタは移動しません。そのため、新しく追加された文字列は、その時点からすぐにスキャン対象となり、その後のスキャン処理で利用可能になります。
例えば、ファイルから少しずつデータを読み込みながらスキャンを進めるような場面や、ネットワークから順次送られてくるデータを処理するような状況で、必要に応じてスキャンバッファを拡張する際に役立ちます。この機能により、StringScannerは柔軟にスキャン対象の文字列を管理し、処理の途中でその内容を増やすことが可能になります。追加された文字列は、元の文字列と一体となって、scanやmatch?といった一連のスキャン処理の対象となります。
構文(syntax)
1require 'strscan' 2 3scanner = StringScanner.new("initial") 4scanner << " additional" 5# scanner.string は "initial additional" となる
引数(parameters)
str
- str: String: StringScannerオブジェクトの末尾に連結する文字列
戻り値(return)
self
StringScannerクラスの<<メソッドは、レシーバーであるStringScannerオブジェクト自身を返します。