【Ruby3.x】IO::pos=()メソッドの使い方
pos=メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
pos=メソッドは、IOオブジェクトの読み書き位置を設定するメソッドです。これは、ファイルやパイプなどの入出力ストリームにおいて、次にデータが読み込まれる、または書き込まれる位置を明示的に指定するために使用されます。
このメソッドは、引数として非負の整数値を一つ取ります。この整数値は、ストリームの先頭からのバイトオフセットを示し、ファイルポインタをその位置へ移動させます。例えば、io.pos = 100と記述すると、IOオブジェクトioの現在の読み書き位置が、ストリームの先頭から100バイト目に設定されます。
ファイルを途中から読み直したい場合や、特定の位置にデータを書き込みたい場合に非常に役立ちます。このメソッドを実行すると、それ以降の読み書き操作は、新しく設定された位置から開始されます。引数に負の値を指定しようとするとエラーが発生するため、注意が必要です。現在の読み書き位置を確認したい場合は、IO#posメソッドを利用することができます。この機能により、IOオブジェクトの内容を柔軟に操作することが可能になります。
構文(syntax)
1file = File.open("example.txt", "w+") 2file.pos = 10 3file.close
引数(parameters)
offset
- offset: IOストリームの操作位置を指定する整数
戻り値(return)
Integer
IOクラスのpos=メソッドは、ファイルポインタ(現在読み書きしている位置)を指定した位置に設定します。このメソッドの戻り値は、設定されたファイルポインタの新しい位置を示す整数です。