【Ruby3.x】File::empty?()メソッドの使い方
empty?メソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
empty?メソッドは、指定されたパスのファイルが空であるかどうかを判定するメソッドです。
このメソッドは、引数として確認したいファイルのパスを文字列で受け取ります。
対象のファイルが存在し、そのファイルサイズが正確に0バイトである場合にtrueを返します。
一方、ファイルが存在するもののサイズが0バイトではない場合はfalseを返します。
例えば、新しく作成されたばかりでまだ何も書き込まれていないファイルや、内容が完全に削除されて空になったファイルに対して呼び出すとtrueが返されます。
ただし、指定されたパスが存在しない場合や、そのパスがファイルではなくディレクトリなどの別の種類のエントリである場合、empty?メソッドは例外を発生させます。具体的には、パスが存在しない場合はErrno::ENOENT、パスがディレクトリの場合はErrno::EISDIRなどの例外が送出されます。
この挙動により、メソッドを呼び出す側で事前にパスの存在チェックやファイルの種類(それがファイルであるか否か)の確認を行う必要がなく、より直接的にファイルの空状態を検証できます。
このメソッドは、ファイルの内容を読み込んだり処理したりする前に、対象のファイルがデータを含んでいるかどうかを手軽に確認したい場合に特に役立ちます。例えば、ログファイルの書き込み状況を確認したり、一時ファイルが期待通りにデータを持っているかを検証したりする際に活用できます。
File.empty?は、File.zero?メソッドとほぼ同じ機能を提供しますが、「内容が空である」という意図をより明確に表現するために使われます。
構文(syntax)
1File.empty?("ファイルパス")
引数(parameters)
path
- path: 検査対象のファイルパスを指定する文字列
戻り値(return)
Boolean
Fileクラスのempty?メソッドは、ファイルが空であるかどうかを示す真偽値(trueまたはfalse)を返します。ファイルが空であればtrue、そうでなければfalseを返します。