【Ruby3.x】StringIO::lineno=()メソッドの使い方
lineno=メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
lineno=メソッドは、StringIOオブジェクトの現在の行番号を設定するメソッドです。
StringIOクラスは、メモリ上の文字列データをあたかもファイルのように読み書きするためのクラスであり、ファイル操作と同様に行番号を管理する機能を持ちます。
このlineno=メソッドは、引数として渡された整数値を、StringIOオブジェクトが現在保持している行番号として設定し直します。これにより、既存の行番号は指定した値で上書きされます。
行番号が一度設定されると、その後StringIOオブジェクトに対してgetsやreadlineといった行指向の読み込みメソッドが呼び出された際には、設定された新しい行番号からカウントが再開されるようになります。
例えば、StringIOオブジェクトを使って読み込み処理を行っている途中で、特定の行番号から処理を再開したい場合や、プログラムのロジック上、意図的に行番号をリセットしたい場合などにこのメソッドを利用できます。
引数には設定したい行番号を整数値で指定し、戻り値としては設定された行番号そのものが返されます。この機能は、文字列データを柔軟に操作し、ファイル処理に似た振る舞いをエミュレートする上で非常に有効です。
構文(syntax)
1require 'stringio' 2 3io = StringIO.new("Hello\nWorld") 4io.lineno = 3 # StringIOオブジェクトの現在の行番号を3に設定
引数(parameters)
lineno
- lineno: StringIO オブジェクトの現在の行番号を表す整数
戻り値(return)
Integer
設定された行番号が返されます。