फ़ाइल

इस ऑब्जेक्ट को विश्लेषण के चरण के दौरान बनाया जाता है. इससे, किसी फ़ाइल या डायरेक्ट्री को दिखाया जाता है, जिसे लागू करने के चरण के दौरान पढ़ा या लिखा जाएगा. यह कोई ओपन फ़ाइल हैंडल नहीं है. इसका इस्तेमाल, फ़ाइल के कॉन्टेंट को सीधे पढ़ने या उसमें लिखने के लिए नहीं किया जा सकता. इसके बजाय, इसका इस्तेमाल नियम लागू करने वाले फ़ंक्शन में ऐक्शन ग्राफ़ बनाने के लिए किया जाता है. इसके लिए, इसे ऐक्शन बनाने वाले फ़ंक्शन में पास किया जाता है. ज़्यादा जानकारी के लिए, नियमों का पेज देखें.

जब किसी File को map_each फ़ंक्शन का इस्तेमाल किए बिना Args ऑब्जेक्ट में पास किया जाता है, तो उसके path फ़ील्ड की वैल्यू को स्ट्रिंग में बदल दिया जाता है.

सदस्य

basename

string File.basename

इस फ़ाइल का बेस नाम. यह डायरेक्ट्री में मौजूद फ़ाइल का नाम है.

dirname

string File.dirname

उस डायरेक्ट्री का नाम जिसमें यह फ़ाइल है. इसे पाथ से लिया जाता है और यह हमेशा एक्ज़ीक्यूशन डायरेक्ट्री के हिसाब से होता है.

एक्सटेंशन

string File.extension

इस फ़ाइल का फ़ाइल एक्सटेंशन, सबसे दाईं ओर मौजूद पीरियड के बाद (इसमें शामिल नहीं है). अगर फ़ाइल के बेसनेम में कोई पीरियड नहीं है, तो खाली स्ट्रिंग.

is_directory

bool File.is_directory

अगर यह डायरेक्ट्री है, तो True दिखाता है.

is_source

bool File.is_source

अगर यह सोर्स फ़ाइल है, तो True दिखाता है. इसका मतलब है कि इसे जनरेट नहीं किया गया है.

owner

Label File.owner

टारगेट का एक लेबल, जो इस फ़ाइल को बनाता है. None को वापस किया जा सकता है.

पाथ

string File.path

फ़ाइल फ़ोल्डर की एक्ज़ीक्यूशन डायरेक्ट्री के हिसाब से, इस फ़ाइल का एक्ज़ीक्यूशन पाथ. इसमें दो हिस्से होते हैं. पहला हिस्सा root (root मॉड्यूल भी देखें) कहलाता है. यह वैकल्पिक होता है. दूसरा हिस्सा short_path होता है. रूट खाली हो सकता है. आम तौर पर, जनरेट नहीं की गई फ़ाइलों के लिए ऐसा होता है. जनरेट की गई फ़ाइलों के लिए, आम तौर पर इसमें कॉन्फ़िगरेशन के हिसाब से पाथ फ़्रैगमेंट होता है. यह फ़्रैगमेंट, टारगेट सीपीयू आर्किटेक्चर जैसी चीज़ों को कोड में बदलता है. इस आर्किटेक्चर का इस्तेमाल, फ़ाइल को बिल्ड करते समय किया गया था. अगर फ़ाइल बाइनरी के रनफ़ाइल में है, तो उस पाथ के लिए short_path का इस्तेमाल करें जिसके तहत फ़ाइल को मैप किया गया है.

रूट

root File.root

वह रूट जिसमें यह फ़ाइल मौजूद है.

short_path

string File.short_path

इस फ़ाइल का पाथ, इसके रूट से मिलता-जुलता है. इसमें ऊपर बताए गए रूट को शामिल नहीं किया जाता है. इसका मतलब है कि पाथ के कॉन्फ़िगरेशन के हिसाब से फ़्रैगमेंट शामिल नहीं किए जाते. अगर फ़ाइल बाइनरी के रनफ़ाइल में है, तो इसी पाथ से फ़ाइल मैप की जाती है.

tree_relative_path

string File.tree_relative_path

अगर पैरंट के is_directory फ़ील्ड की वैल्यू'सही' है, तो पैरंट के ट्री के रूट के हिसाब से इस फ़ाइल का पाथ. tree_relative_path सिर्फ़ किसी ऐक्शन कमांड में, डायरेक्ट्री की बड़ी की गई फ़ाइलों के लिए उपलब्ध है. जैसे, Args.add_all(). अन्य तरह की फ़ाइलों के लिए, इस फ़ील्ड को ऐक्सेस करने पर गड़बड़ी होती है.