ระบบจะสร้างออบเจ็กต์นี้ในระยะการวิเคราะห์เพื่อแสดงไฟล์หรือไดเรกทอรีที่จะอ่านหรือเขียนในระยะการดำเนินการ ออบเจ็กต์นี้ไม่ใช่แฮนเดิลไฟล์ที่เปิดอยู่ และใช้เพื่ออ่านหรือเขียนเนื้อหาไฟล์โดยตรงไม่ได้ แต่คุณจะใช้ออบเจ็กต์นี้เพื่อสร้างกราฟการดำเนินการในฟังก์ชันการใช้งานกฎโดยส่งออบเจ็กต์ไปยังฟังก์ชันการสร้างการดำเนินการ ดูข้อมูลเพิ่มเติมได้ที่หน้า
กฎเมื่อส่ง File ไปยังออบเจ็กต์ Args โดยไม่ใช้ฟังก์ชัน map_each ระบบจะแปลงเป็นสตริงโดยใช้ค่าของฟิลด์ path
สมาชิก
basename
string File.basename
ชื่อฐานของไฟล์นี้ ซึ่งเป็นชื่อของไฟล์ภายในไดเรกทอรี
dirname
string File.dirname
ชื่อของไดเรกทอรีที่มีไฟล์นี้ ระบบจะนำชื่อนี้มาจาก
เส้นทาง และจะเป็นเส้นทางสัมพัทธ์กับไดเรกทอรีการดำเนินการเสมอ
extension
string File.extension
นามสกุลไฟล์ของไฟล์นี้ โดยจะตามหลังจุดขวาสุด (ไม่รวมจุด) สตริงว่างเปล่าหากชื่อฐานของไฟล์ไม่มีจุด
is_directory
bool File.is_directory
แสดงค่าเป็น "จริง" หากเป็นไดเรกทอรี
is_source
bool File.is_source
แสดงค่าเป็น "จริง" หากเป็นไฟล์ต้นฉบับ นั่นคือไม่ได้สร้างขึ้น
owner
Label File.owner
ป้ายกำกับของเป้าหมายที่สร้างไฟล์นี้
อาจแสดงผลเป็น
None
path
string File.path
เส้นทางการดำเนินการของไฟล์นี้ ซึ่งเป็นเส้นทางสัมพัทธ์กับไดเรกทอรีการดำเนินการของเวิร์กสเปซ เส้นทางนี้ประกอบด้วย 2 ส่วน ได้แก่ ส่วนแรกที่เรียกว่า
root (ดูโมดูล
root ด้วย) ซึ่งเป็นส่วนที่ไม่บังคับ และส่วนที่ 2 ซึ่งเป็น
short_path root อาจว่างเปล่า ซึ่งมักจะเป็นเช่นนั้นสำหรับไฟล์ที่ไม่ได้สร้างขึ้น สำหรับไฟล์ที่สร้างขึ้น root มักจะมีส่วนเส้นทางที่เฉพาะเจาะจงกับการกำหนดค่า ซึ่งเข้ารหัสสิ่งต่างๆ เช่น สถาปัตยกรรม CPU เป้าหมายที่ใช้ขณะสร้างไฟล์ดังกล่าว ใช้
short_path สำหรับเส้นทางที่แมปไฟล์ไว้หากไฟล์อยู่ใน runfiles ของไบนารี
root
root File.root
root ที่ไฟล์นี้อยู่
short_path
string File.short_path
เส้นทางของไฟล์นี้ซึ่งเป็นเส้นทางสัมพัทธ์กับ root เส้นทางนี้ไม่รวม
root ที่กล่าวถึงก่อนหน้านี้ นั่นคือส่วนเส้นทางที่เฉพาะเจาะจงกับการกำหนดค่า นอกจากนี้ เส้นทางนี้ยังเป็นเส้นทางที่แมปไฟล์ไว้หากไฟล์อยู่ใน runfiles ของไบนารี
tree_relative_path
string File.tree_relative_path
เส้นทางของไฟล์นี้ซึ่งเป็นเส้นทางสัมพัทธ์กับ root ของแผนผังของบรรพบุรุษ หากฟิลด์
is_directory ของบรรพบุรุษเป็น "จริง"
tree_relative_path ใช้ได้เฉพาะกับไฟล์ที่ขยายแล้วของไดเรกทอรีในคำสั่งการดำเนินการ เช่น
Args.add_all() สำหรับไฟล์ประเภทอื่นๆ การเข้าถึงฟิลด์นี้จะทำให้เกิดข้อผิดพลาด