【Ruby3.x】FNM_EXTGLOB定数の使い方
FNM_EXTGLOB定数の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
FNM_EXTGLOB定数は、ファイル名やパスのパターンマッチングにおいて、拡張グロビング機能の使用を許可することを示す定数です。この定数はRubyのFileモジュールに定義されており、主にFile.fnmatchメソッドやDir.globメソッドなどのパターンマッチングを行う際に、オプションとして指定して利用します。
通常のワイルドカード(* や ?)による基本的なパターンマッチングに加え、FNM_EXTGLOB定数を指定することで、UNIXシェルなどで用いられるような、より高度な拡張グロビングパターンを認識するようになります。例えば、{file1,file2}.txt というパターンはfile1.txtまたはfile2.txtの両方にマッチし、?(a)は文字'a'が0回または1回出現する場合にマッチするといった柔軟な記述が可能になります。
この定数を使用しない場合、これらの拡張グロビングパターンは通常の文字として扱われ、特別な意味を持ちません。複雑な条件でファイルやディレクトリを検索・選択したい場合に、このFNM_EXTGLOB定数を指定することで、簡潔かつ強力なパターン指定が可能となり、プログラムの柔軟性を高めることができます。利用の際は、File::FNM_EXTGLOBのように記述して指定してください。
構文(syntax)
1File::FNM_EXTGLOB
引数(parameters)
引数なし
引数はありません
戻り値(return)
Integer
FNM_EXTGLOB は、ファイル名展開の拡張グロブパターンを有効にするための整数値定数です。この定数は、File.fnmatch? メソッドなどのファイル名パターンマッチングにおいて、特定の機能拡張を指示するために使用されます。