【Ruby3.x】File::Stat::size?()メソッドの使い方
size?メソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
size?メソッドは、RubyのFile::Statクラスに属し、そのオブジェクトが表すファイルが空であるかどうかを判定するメソッドです。
このメソッドは、指定されたパスのファイルについて、そのサイズが0バイトより大きいかどうかを確認します。もしファイルが存在し、かつファイルサイズが1バイト以上であればtrueを返します。これは、ファイルに何らかのデータが含まれていることを意味します。
一方で、ファイルが存在するものの、そのサイズが0バイトである(つまり、内容が空である)場合にはfalseを返します。
さらに、もしFile::Statオブジェクトがファイル以外のもの(例えばディレクトリやシンボリックリンクなど)を表している場合、または対象となるファイルが存在しない場合にはnilを返します。
size?メソッドは、同じFile::Statクラスに存在するsizeメソッド(これはファイルの具体的なバイト数を整数で返します)とは異なり、ファイルがデータを持っているかどうかの真偽値、あるいはファイルでない場合のnilを返すことに特化しています。この特性により、特定のファイルが処理に値するデータを含んでいるか否かを素早く判定し、その結果に基づいて条件分岐を行うといった場面で非常に有用です。例えば、読み込むべきファイルが空でなければ処理を実行し、空であればスキップするといったロジックを簡潔に記述する際に活用できます。
構文(syntax)
1File.stat("path/to/file.txt").size?
引数(parameters)
引数なし
引数はありません
戻り値(return)
Integer | nil
File::Stat#size? メソッドは、ファイルサイズをバイト単位の整数で返します。ファイルが存在しない、またはサイズが取得できない場合は nil を返します。