ファイル

このオブジェクトは分析フェーズで作成され、実行フェーズで読み書きされるファイルまたはディレクトリを表します。オープン ファイル ハンドルではないため、ファイルの内容を直接読み書きするために使用することはできません。代わりに、アクション作成関数に渡してルール実装関数でアクション グラフを構築するために使用します。詳しくは、ルールのページをご覧ください。

map_each 関数を使用せずに FileArgs オブジェクトに渡された場合、path フィールドの値が取得されて文字列に変換されます。

メンバー

ベース名

string File.basename

このファイルのベース名。これは、ディレクトリ内のファイルの名前です。

ディレクトリ名

string File.dirname

このファイルを含むディレクトリの名前。path から取得され、常に実行ディレクトリを基準とします。

拡張機能

string File.extension

このファイルのファイル拡張子。右端のピリオドは含みません。ファイルのベース名にピリオドが含まれていない場合は空の文字列。

is_directory

bool File.is_directory

ディレクトリの場合は true を返します。

is_source

bool File.is_source

これがソースファイルである(生成されていない)場合は true を返します。

オーナー

Label File.owner

このファイルを生成するターゲットのラベル。 None を返すことができます。

パス

string File.path

このファイルの実行パス(ワークスペースの実行ディレクトリを基準とする相対パス)。これは 2 つの部分で構成されます。1 つ目の部分は root と呼ばれ(root モジュールも参照してください)、2 つ目の部分は short_path です。ルートは空でもかまいません。通常は、生成されていないファイル用です。生成されたファイルの場合、通常は設定固有のパスの一部が含まれ、そのファイルのビルドに使用されたターゲット CPU アーキテクチャなどをエンコードしています。ファイルがバイナリの実行ファイル内にある場合は、ファイルをマッピングするパスに short_path を使用します。

root

root File.root

このファイルが存在するルート。

short_path

string File.short_path

このファイルのルートからの相対パス。前述の root(パスの構成固有のフラグメント)は除外されます。ファイルがバイナリの実行ファイル内にある場合は、ファイルがマッピングされるパスでもあります。

tree_relative_path

string File.tree_relative_path

祖先の is_directory フィールドが true の場合、祖先ツリーのルートを基準としたこのファイルの相対パス。tree_relative_path は、アクション コマンド(Args.add_all())でディレクトリを展開したファイルでのみ使用できます。他のタイプのファイルの場合、このフィールドにアクセスするとエラーになります。