【Ruby3.x】File::split()メソッドの使い方
splitメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
splitメソッドは、与えられたファイルパスをディレクトリ部分とファイル名部分に分割し、その結果を2つの要素を持つ配列として返すメソッドです。このメソッドはRubyのFileクラスに定義されており、ファイルシステム上のパス文字列を効率的に操作するために利用されます。
引数には分割したいファイルパスを文字列として指定します。戻り値は常に2つの要素からなる配列で、配列の最初の要素がパスのディレクトリ部分を、2番目の要素がファイル名(拡張子を含む)を表します。例えば、「/home/user/document/report.pdf」というパスに対してsplitメソッドを実行すると、「["/home/user/document", "report.pdf"]」という配列が返されます。
パスの形式によっていくつかの挙動があります。例えば、パスが「/var/log/」のようにディレクトリのみで終わり、ファイル名が含まれない場合、ファイル名部分には空文字列「""」が返されます。逆に、「config.yml」のようにファイル名のみでディレクトリ部分が指定されていない場合、ディレクトリ部分にはカレントディレクトリを示す「.」が、ファイル名部分には「config.yml」が返されます。また、ルートディレクトリである「/」を渡した場合は、「["/", ""]」が返されます。このメソッドは、オペレーティングシステムの違いによるパス区切り文字(Windowsの\やLinux/macOSの/など)を内部的に吸収して処理するため、異なる環境間でのファイルパス操作の互換性を保つのにも役立ちます。システム開発において、ファイルパスからファイル名だけを抽出したり、ディレクトリパスを特定したりする際に非常に重宝する機能です。
構文(syntax)
1dir, base = File.split("/path/to/file.txt")
引数(parameters)
path
- path: 分割するファイルパスを指定する文字列
戻り値(return)
Array<String>
指定されたファイルパスの文字列を、パスの区切り文字(Unix系では/、Windowsでは\)で分割した文字列の配列を返します。