【Ruby3.x】File::basename()メソッドの使い方
basenameメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
basenameメソッドは、ファイルパスからディレクトリ部分を取り除き、ファイル名(ベース名)のみを抽出するメソッドです。これはFileクラスのクラスメソッドとして提供されており、ファイルシステム操作において特定のファイルの識別子だけが必要な場合に非常に便利です。
このメソッドは、通常、パス文字列を引数として受け取ります。例えば、"/usr/local/bin/ruby"というパスに対してFile.basenameを実行すると、"ruby"という結果が返されます。同様に、"foo.txt"というパスからは"foo.txt"が、"/home/user/document/report.pdf"というパスからは"report.pdf"が抽出されます。
また、オプションで第2引数に拡張子を指定することも可能です。第2引数に拡張子文字列を指定すると、その拡張子も取り除かれたファイル名が得られます。例えば、File.basename("report.pdf", ".pdf")とすると、結果は"report"となります。これにより、拡張子を除いた純粋なファイル名を扱うことが可能になります。
このメソッドは、ファイル名に基づいて処理を分岐させたい場合や、ユーザーから提供されたパスからファイル名だけを安全に取得したい場合など、様々なシステム開発の場面で役立ちます。パスの区切り文字が異なるOS間でも適切に動作するため、クロスプラットフォームなアプリケーション開発においても安心して利用できます。
構文(syntax)
1File.basename(path)
引数(parameters)
path, suffix = nil
- path: ファイルパスを表す文字列
- suffix = nil: ファイル名から取り除く末尾の文字列(省略可能)
戻り値(return)
String
与えられたパス文字列から、ファイル名またはディレクトリ名のみを抽出した文字列を返します。