【Ruby3.x】Dir::each()メソッドの使い方
eachメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
eachメソッドは、指定されたディレクトリ内の各エントリ(ファイルやサブディレクトリ)に対して、繰り返し処理を実行するメソッドです。このメソッドは、Dirクラスのインスタンス(特定のディレクトリを表すオブジェクト)に対して呼び出されます。
eachメソッドは引数としてブロックを受け取ります。このブロックは、ディレクトリ内のエントリが一つ見つかるたびに実行されます。ブロックが実行される際には、そのエントリの名前(文字列)がブロックの引数として渡されます。これにより、開発者はディレクトリ内の各エントリに対して、個別に任意の処理を記述することができます。
例えば、あるディレクトリ内のすべてのファイル名やサブディレクトリ名を取得して画面に表示したり、特定の条件を満たすファイルを検索してリストアップしたりする際に非常に役立ちます。ディレクトリを操作する上で、内部の要素を一つずつ処理したい場合に、このeachメソッドは基本的なイテレータとして頻繁に利用されます。
処理が完了すると、eachメソッドは自身が呼び出されたDirオブジェクトを返します。なお、このメソッドで取得されるエントリ名には、特殊なエントリであるカレントディレクトリを示す「.」と親ディレクトリを示す「..」も含まれる点にご注意ください。
構文(syntax)
1Dir.each { |entry| }
引数(parameters)
引数なし
引数はありません
戻り値(return)
self
Dir#each メソッドは、ディレクトリ内の各ファイルやサブディレクトリに対してブロックを実行し、その結果としてメソッド自身(Dirオブジェクト)を返します。