Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】File::Stat::mode()メソッドの使い方

modeメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

modeメソッドは、ファイルやディレクトリのモード情報を取得するメソッドです。このメソッドは、File::Statクラスのインスタンスメソッドとして提供されており、特定のファイルやディレクトリがどのような種類で、どのようなアクセス権限が設定されているかを調べたいときに利用します。

modeメソッドを呼び出すと、対象のファイルやディレクトリのタイプ(例えば、通常ファイル、ディレクトリ、シンボリックリンクなど)と、そのファイルに対するアクセス権限(所有者、グループ、その他のユーザーそれぞれに対する読み取り、書き込み、実行の可否)を数値として返します。戻り値は整数値で、この整数値はビットフィールドとして構成されており、各ビットがファイルの種類や個々のアクセス権限の状態を表しています。

システムエンジニアとしてファイルやディレクトリの操作を行う際、このモード情報はセキュリティ設定やプログラムの動作制御において非常に重要です。例えば、File.stat("ファイルパス")のようにしてFile::Statオブジェクトを取得した後、stat_obj.modeと呼び出すことでモード値を得られます。得られた整数値をそのまま解釈するのは少し専門的な知識が必要ですが、一般的にはsprintf("%o", stat_obj.mode)のように8進数形式で表示することで、ls -lコマンドなどで表示される権限情報に近い形式で確認できます。

また、File::Statクラスには、このモード情報をより簡単に解釈するための補助的なメソッドが多数用意されています。例えば、stat_obj.directory?メソッドでそれがディレクトリであるか、stat_obj.readable?メソッドで読み取り可能であるかなどを、真偽値で手軽に判別できます。これらの補助メソッドと組み合わせて利用することで、初心者の方でも効率的にファイルのモード情報を扱い、プログラムに活用できるようになります。

構文(syntax)

1File.stat(__FILE__).mode

引数(parameters)

引数なし

引数はありません

戻り値(return)

Integer

File::Stat#mode は、ファイルシステムのパーミッション情報を示す整数を返します。この整数は、ファイルの所有者、グループ、その他のユーザーに対する読み取り、書き込み、実行の権限を表します。

関連コンテンツ

関連プログラミング言語