ไฟล์

ออบเจ็กต์นี้จะสร้างขึ้นในระหว่างขั้นตอนการวิเคราะห์เพื่อแสดงไฟล์หรือไดเรกทอรีที่จะอ่านหรือเขียนในระหว่างขั้นตอนการดำเนินการ ซึ่งไม่ใช่แฮนเดิลไฟล์แบบเปิด และจะใช้อ่านหรือเขียนเนื้อหาไฟล์โดยตรงไม่ได้ แต่คุณใช้ค่านี้เพื่อสร้างกราฟการดำเนินการในฟังก์ชันการใช้งานกฎโดยส่งต่อไปยังฟังก์ชันการสร้างการดำเนินการ ดูข้อมูลเพิ่มเติมในหน้ากฎ

เมื่อมีการส่งผ่าน File ไปยังออบเจ็กต์ Args โดยไม่ใช้ฟังก์ชัน map_each ระบบจะแปลงค่าดังกล่าวเป็นสตริงโดยหาค่าของช่อง path ของออบเจ็กต์นั้น

สมาชิก

basename

string File.basename

ชื่อพื้นฐานของไฟล์นี้ ซึ่งเป็นชื่อไฟล์ภายในไดเรกทอรี

dirname

string File.dirname

ชื่อของไดเรกทอรีที่มีไฟล์นี้ ระบบจะดึงมาจาก path และเกี่ยวข้องกับไดเรกทอรีการดำเนินการเสมอ

ส่วนขยาย

string File.extension

นามสกุลไฟล์ตาม (ไม่รวม) ระยะเวลาด้านขวาสุด สตริงว่างเปล่าหากชื่อพื้นฐานของไฟล์ไม่มีจุด

is_directory

bool File.is_directory

แสดงผลเป็น "จริง" หากเป็นไดเรกทอรี

is_source

bool File.is_source

แสดงผลเป็น "จริง" หากนี่เป็นไฟล์ต้นฉบับ กล่าวคือไม่ได้สร้างขึ้น

owner

Label File.owner

ป้ายกำกับของเป้าหมายที่สร้างไฟล์นี้ อาจส่งคืน None

เส้นทาง

string File.path

เส้นทางการดำเนินการของไฟล์นี้ ซึ่งเกี่ยวข้องกับไดเรกทอรีการดำเนินการของพื้นที่ทำงาน ซึ่งประกอบด้วย 2 ส่วน ส่วนแรกจะมีหรือไม่ก็ได้เรียกว่ารูท (ดูโมดูลรูทด้วย) และส่วนที่ 2 ซึ่งก็คือ short_path รูทอาจว่างเปล่า ซึ่งโดยปกติแล้วจะมีไว้สำหรับไฟล์ที่ไม่ได้สร้าง สำหรับไฟล์ที่สร้างขึ้น โดยปกติแล้วจะมี Fragment เส้นทางเฉพาะการกำหนดค่าซึ่งเข้ารหัสสิ่งต่างๆ เช่น สถาปัตยกรรม CPU เป้าหมายที่ใช้ขณะสร้างไฟล์ดังกล่าว ใช้ short_path สำหรับเส้นทางที่มีการแมปไฟล์หากอยู่ใน Runfiles ของไบนารี

รูท

root File.root

รูทที่ไฟล์นี้อยู่

short_path

string File.short_path

เส้นทางของไฟล์นี้สัมพัทธ์กับรูท ซึ่งไม่รวม root ที่กล่าวไปแล้ว ซึ่งก็คือ Fragment ที่เจาะจงการกำหนดค่าของเส้นทาง นอกจากนี้ เส้นทางนี้ยังเป็นเส้นทางที่ใช้แมปไฟล์หากอยู่ใน Runfiles ของไบนารี

tree_relative_path

string File.tree_relative_path

เส้นทางของไฟล์นี้ที่สัมพัทธ์กับรากของแผนผังระดับบน หากช่อง is_directory ของระดับบนเป็นจริง tree_relative_path ใช้ได้เฉพาะกับไฟล์แบบขยายของไดเรกทอรีในคำสั่งการดำเนินการ เช่น Args.add_all() สำหรับไฟล์ประเภทอื่นๆ จะถือว่าเกิดข้อผิดพลาดในการเข้าถึงช่องนี้