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

【Ruby3.x】Dir::[]()メソッドの使い方

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

作成日: 更新日:

基本的な使い方

Dir.[]メソッドは、引数として与えられたパス名パターンに一致するファイルやディレクトリのパスを文字列の配列として取得するメソッドです。このメソッドは、UNIXシェルなどでおなじみの「グロブパターン」と呼ばれるワイルドカードの記法をサポートしており、ファイルシステム上の特定のリソースを柔軟に検索できます。

グロブパターンでは、例えば*は任意の文字列(0文字以上)、?は任意の一文字、[abc]abcのいずれか一文字、{pattern1,pattern2}pattern1またはpattern2にマッチすることを示します。これにより、特定の拡張子を持つファイルをすべて見つけたり、特定のプレフィックスを持つディレクトリを一覧表示したりといった多様な検索条件を指定できます。

例えば、現在のディレクトリにあるすべてのRubyスクリプトファイル(拡張子が.rbのファイル)のパスを取得したり、特定のディレクトリ階層内のすべての画像ファイル(.jpg.pngなど)をまとめて検索したりする際に非常に便利です。パターンに一致するファイルやディレクトリが見つからない場合、このメソッドは空の配列を返します。

戻り値の配列には、マッチしたファイルやディレクトリへのパスが文字列として格納されており、これらのパスは通常、相対パスまたは絶対パスの形式で提供されます。ファイルシステムから特定の条件を満たすファイルやディレクトリの情報を効率的に収集し、プログラムでその情報を利用する際に重要な役割を果たします。ただし、オペレーティングシステムによってはパスの大文字・小文字の区別やパス区切り文字の扱いに違いがある場合があるため、その点には留意が必要です。

構文(syntax)

1Dir[pattern]

引数(parameters)

*patterns, base: nil, sort: true

  • patterns: 検索するファイル名のパターンを指定する文字列や正規表現
  • base: nil: 検索の基準となるディレクトリを指定します。nil の場合はカレントディレクトリが基準となります。
  • sort: true: true の場合、返されるファイル名をソートします。

戻り値(return)

Array

Dir.[] は、指定されたディレクトリ内のファイルやディレクトリの名前を配列として返します。

関連コンテンツ