File

Laporkan masalah Lihat sumber Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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

Jika 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. Jalur ini diambil dari path dan selalu relatif terhadap direktori eksekusi.

Pemeriksaan Keselamatan

string File.extension

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

is_directory

bool File.is_directory

Menampilkan nilai benar jika ini adalah direktori. Hal 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 benar (true) jika ini adalah file sumber, yaitu tidak dibuat.

bool File.is_symlink

Menampilkan benar jika ini dideklarasikan sebagai symlink. Hal ini mencerminkan jenis file yang dideklarasikan (yaitu ctx.actions.declare_symlink), bukan jenisnya di sistem file, yang mungkin berbeda.

owner

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 terjadi 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 membangun file tersebut. Gunakan short_path untuk jalur tempat file dipetakan jika berada di runfile biner.

root

root File.root

Root tempat file ini berada.

short_path

string File.short_path

Jalur file ini relatif terhadap root-nya. Ini mengecualikan root yang disebutkan di atas, yaitu fragmen jalur khusus konfigurasi. Ini juga merupakan jalur tempat file dipetakan jika berada di 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, mengakses kolom ini akan menghasilkan error.