【Ruby3.x】Dir::pos()メソッドの使い方
posメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
posメソッドは、Dirオブジェクトが開いているディレクトリの現在の読み取り位置を整数で取得するメソッドです。
Rubyにおいて、Dir.newなどでディレクトリを開くと、そのディレクトリ内に存在するファイルやサブディレクトリといったエントリを操作できるようになります。Dir#readメソッドを使用すると、これらのエントリを順に読み出すことができますが、posメソッドは、その読み出し作業が「ディレクトリ内のどこまで進んでいるか」という現在の位置を数値として教えてくれます。
この取得した位置情報は、Dir#seek(position)メソッドの引数として非常に有用です。seekメソッドにposで得られた数値を渡すことで、読み取り位置をその特定の位置に直接移動させることが可能になります。これにより、ディレクトリ内のエントリを一度読み進めた後でも、途中の特定の位置から再び読み込みを開始したり、同じエントリに再度アクセスしたりするような柔軟な操作が可能となります。
また、Dir#rewindメソッドを使用すると、読み取り位置をディレクトリの先頭に戻すことができますが、posメソッドとseekメソッドを組み合わせることで、先頭だけでなく任意の保存しておいた位置に戻ることが可能になります。posメソッドは、ディレクトリ内のエントリを効率的に探索したり、読み取り位置を細かく制御したりする際に重要な役割を果たすメソッドです。
構文(syntax)
1d = Dir.new(".") 2puts d.pos 3d.close
引数(parameters)
引数なし
引数はありません
戻り値(return)
Integer
Dir.pos は、ディレクトリの読み取りポインタの現在の位置を整数で返します。