File

Laporkan masalah Lihat sumber Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Objek ini dibuat selama fase analisis untuk merepresentasikan file atau direktori yang akan dibaca atau ditulis selama fase eksekusi. Ini bukan handle file terbuka, dan tidak dapat digunakan untuk langsung membaca atau menulis konten file. Sebagai gantinya, Anda menggunakannya untuk membuat grafik tindakan dalam fungsi penerapan aturan dengan meneruskannya ke fungsi pembuatan tindakan. Lihat halaman Aturan untuk mengetahui informasi selengkapnya.

Saat File diteruskan ke objek Args tanpa menggunakan fungsi map_each, File akan dikonversi menjadi string dengan mengambil nilai kolom path-nya.

Anggota

basename

string File.basename

Nama dasar file ini. Ini adalah nama file di dalam direktori.

dirname

string File.dirname

Nama direktori yang berisi file ini. Ini diambil dari path dan selalu relatif terhadap direktori eksekusi.

ekstensi

string File.extension

Ekstensi file ini, mengikuti (tidak termasuk) titik paling kanan. String kosong jika nama dasar file tidak menyertakan titik.

is_directory

bool File.is_directory

Menampilkan true jika ini adalah direktori. Ini mencerminkan jenis file yang dideklarasikan (yaitu ctx.actions.declare_directory), bukan jenisnya di sistem file, yang mungkin berbeda.

is_source

bool File.is_source

Menampilkan true jika ini adalah file sumber, yaitu tidak dibuat.

bool File.is_symlink

Menampilkan true jika ini adalah direktori. Ini mencerminkan jenis file yang dideklarasikan (yaitu ctx.actions.declare_symlink), bukan jenisnya di sistem file, yang mungkin berbeda.

pemilik

Label File.owner

Label target yang menghasilkan File ini. Dapat menampilkan None.

jalur

string File.path

Jalur eksekusi file ini, relatif terhadap direktori eksekusi ruang kerja. Ini terdiri dari dua bagian, bagian pertama opsional yang disebut root (lihat juga modul root), dan bagian kedua yang merupakan short_path. Root mungkin kosong, yang biasanya untuk file yang tidak dibuat. Untuk file yang dihasilkan, biasanya berisi fragmen jalur khusus konfigurasi yang mengenkode hal-hal seperti arsitektur CPU target yang digunakan saat mem-build file tersebut. Gunakan short_path untuk jalur tempat file dipetakan jika file tersebut berada dalam runfile biner.

root

root File.root

Root tempat file ini berada.

short_path

string File.short_path

Jalur file ini relatif terhadap root-nya. Hal ini mengecualikan root yang disebutkan di atas, yaitu fragmen jalur khusus konfigurasi. Ini juga merupakan jalur tempat file dipetakan jika berada dalam runfile biner.

tree_relative_path

string File.tree_relative_path

Jalur file ini relatif terhadap root hierarki ancestor, jika kolom is_directory ancestor bernilai benar. tree_relative_path hanya tersedia untuk file yang diperluas dari direktori dalam perintah tindakan, yaitu Args.add_all(). Untuk jenis file lainnya, akses ke kolom ini akan menghasilkan error.