ไฟล์

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

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

สมาชิก

basename

string File.basename

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

dirname

string File.dirname

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

extension

string File.extension

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

is_directory

bool File.is_directory

แสดงผลเป็น "จริง" หากเป็นไดเรกทอรี ค่านี้จะแสดงประเภทที่ประกาศไว้สำหรับไฟล์ (เช่น ctx.actions.declare_directory) ไม่ใช่ประเภทของไฟล์ในระบบไฟล์ ซึ่งอาจแตกต่างกัน

is_source

bool File.is_source

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

bool File.is_symlink

แสดงผลเป็น "จริง" หากประกาศเป็นลิงก์สัญลักษณ์ ค่านี้จะแสดงประเภทที่ประกาศไว้สำหรับไฟล์ (เช่น ctx.actions.declare_symlink) ไม่ใช่ประเภทของไฟล์ในระบบไฟล์ ซึ่งอาจแตกต่างกัน

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() สำหรับไฟล์ประเภทอื่นๆ การเข้าถึงฟิลด์นี้จะทำให้เกิดข้อผิดพลาด