【Ruby3.x】StringScanner::clear()メソッドの使い方
clearメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
clearメソッドは、RubyのStringScannerクラスに属し、そのオブジェクトの内部状態を初期化するメソッドです。StringScannerオブジェクトは、文字列を効率的に走査(スキャン)するために使用され、現在スキャンしている位置や、直前の正規表現マッチの結果などの状態を保持しています。このclearメソッドが呼び出されると、StringScannerオブジェクトのこれらの内部状態がリセットされます。
具体的には、まずスキャン位置を示す内部ポインタが、対象となる文字列の先頭(インデックス0)に移動します。これにより、次に何らかのスキャン操作を実行した際には、文字列の最初から走査が開始される状態になります。また、直前のマッチに関する情報もすべてクリアされます。例えば、matched?メソッドが返す直前のマッチの有無や、pre_match、post_match、[]メソッドなどが参照するマッチ済みの文字列情報はnilにリセットされ、未マッチの状態に戻ります。
このメソッドは、同じStringScannerオブジェクトを使用して、現在スキャン中の文字列を最初からもう一度スキャンし直したい場合や、string=メソッドなどで新しい文字列をセットし、その新しい文字列を改めて先頭からスキャンを開始したい場合などに非常に有用です。clearメソッドは、実行されたStringScannerオブジェクト自身を返します。
構文(syntax)
1require 'strscan' 2 3scanner = StringScanner.new("sample string") 4scanner.clear
引数(parameters)
引数なし
引数はありません
戻り値(return)
StringScanner
self を返します。