【Ruby3.x】IO::SEEK_SET定数の使い方
SEEK_SET定数の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
SEEK_SET定数は、ファイルやストリームにおける位置指定の基準点の一つを表す定数です。Rubyの標準ライブラリであるIOクラスに属しており、主にファイルの内容を読み書きする際の現在位置(ファイルポインタ)を移動させるために使用されるIO#seekメソッドなどで利用されます。
この定数を用いると、seekメソッドに渡すオフセット値が、ファイルの先頭からの絶対的なバイト位置として解釈されます。例えば、io.seek(100, IO::SEEK_SET)と記述した場合、ファイルポインタはファイルの先頭から100バイト目の位置に移動し、その位置から読み込みや書き込みが行われるようになります。
SEEK_SETは、ファイル内の特定の場所へ直接移動したい場合に非常に有用です。これにより、開発者はファイル全体を走査することなく、データの特定のブロックやレコードへ迅速にアクセスし、正確な位置からデータの読み込みや書き込みを開始することが可能になります。
ファイル操作における基本的な定数であり、データの読み書き位置を正確に制御するために不可欠な要素です。IO::SEEK_SETの他に、現在の位置からの相対オフセットを指定するIO::SEEK_CURや、ファイルの末尾からのオフセットを指定するIO::SEEK_ENDといった関連定数も存在し、それぞれの用途に応じて使い分けられます。
構文(syntax)
1file = File.open("example.txt", "r") 2file.seek(0, IO::SEEK_SET)
引数(parameters)
引数なし
引数はありません
戻り値(return)
Integer
IO クラスで定義されている定数 SEEK_SET は、ファイルポインタの移動基準位置を示す整数値です。