【Ruby3.x】File::ftype()メソッドの使い方
ftypeメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
ftypeメソッドは、ファイルシステム上のオブジェクトのタイプを判別し、その種類を文字列で返すメソッドです。 このメソッドは、引数として渡されたファイルパスが示すオブジェクトが、通常のファイル、ディレクトリ、シンボリックリンクなど、どのような種類であるかをプログラム的に確認する際に利用されます。
引数には、検査したいファイルのパスを文字列で指定します。戻り値として返される文字列は、ファイルの種類に応じて異なる値を取ります。例えば、通常のファイルであれば"file"、ディレクトリであれば"directory"、シンボリックリンクであれば"link"が返されます。その他にも、名前付きパイプ(FIFO)は"fifo"、キャラクタスペシャルファイルは"characterSpecial"、ブロックスペシャルファイルは"blockSpecial"、ソケットファイルは"socket"、そして不明なタイプの場合は"unknown"が返されます。
このメソッドは、プログラムが特定の種類のファイルに対してのみ処理を行いたい場合や、ファイルのタイプに応じて異なる処理を適用したい場合に非常に便利です。
注意点として、指定されたパスにファイルやディレクトリが存在しない場合、Errno::ENOENT例外が発生します。そのため、ファイルが存在するかどうかを事前にFile.exist?メソッドなどで確認するか、適切な例外処理を行うことが推奨されます。
構文(syntax)
1File.write("example.txt", "This is a sample file content.") 2puts File.ftype("example.txt") 3# => "file"
引数(parameters)
filename
- filename: String: ファイルのパスを指定する文字列
戻り値(return)
String
File.ftype メソッドは、指定されたファイルパスに対応するファイルの種類を文字列で返します。返される文字列は、通常のファイルであれば "file"、ディレクトリであれば "directory"、シンボリックリンクであれば "link" などとなります。