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

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

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

作成日: 更新日:

基本的な使い方

rewindメソッドは、RubyのStringIOオブジェクトにおけるファイルポインタを先頭に戻すメソッドです。

StringIOクラスは、メモリ上の文字列をあたかもファイルであるかのように読み書きするための機能を提供します。このrewindメソッドは、StringIOオブジェクトの内部で、次にデータを読み書きする位置を示すポインタを、そのストリームの最も先頭(オフセット0)に移動させる役割を担います。これにより、すでに読み込みや書き込みが行われたストリームの状態をリセットし、再び最初からデータを読み書きできるようになります。

具体的には、rewindメソッドを実行すると、現在の読み書き位置を示すposプロパティの値が0に設定され、また現在の行番号を示すlinenoプロパティの値も0にリセットされます。この機能は、例えば、あるデータをStringIOオブジェクトに書き込んだ後に、そのデータを最初からもう一度読み込みたい場合や、一度読み込み処理を終えたデータを再度最初から解析したい場合などに非常に役立ちます。ストリームを閉じて再作成することなく、内部のポインタだけをリセットして再利用できるため、効率的なデータ処理が可能になります。

構文(syntax)

1require 'stringio'
2
3io = StringIO.new("Example data here.")
4io.read # データ全てを読み込む
5io.rewind # 読み書き位置を先頭に戻す
6io.pos # 位置が0になっていることを確認

引数(parameters)

引数なし

引数はありません

戻り値(return)

self

StringIOオブジェクト自身が返されます。これにより、メソッドチェーンで連続して操作を行うことが可能になります。

関連コンテンツ

関連プログラミング言語