ไฟล์

รายงานปัญหา ดูแหล่งที่มา Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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

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

สมาชิก

basename

string File.basename

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

dirname

string File.dirname

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

ส่วนขยาย

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) ไม่ใช่ประเภทของไฟล์ในระบบไฟล์ ซึ่งอาจแตกต่างกัน

เจ้าของ

Label File.owner

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

เส้นทาง

string File.path

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