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