ไฟล์

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

เมื่อระบบส่ง 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

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

เจ้าของ

Label File.owner

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

เส้นทาง

string File.path

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

รูท

root File.root

รูทของไฟล์นี้

short_path

string File.short_path

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

tree_relative_path

string File.tree_relative_path

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