फ़ाइल

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

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

सदस्य

basename

string File.basename

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

dirname

string File.dirname

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

extension

string File.extension

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

is_directory

bool File.is_directory

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

is_source

bool File.is_source

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

owner

Label File.owner

उस टारगेट का लेबल जो यह फ़ाइल बनाता है. None दिखाया जा सकता है.

path

string File.path

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

root

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(). अन्य तरह की फ़ाइलों के लिए, इस फ़ील्ड को ऐक्सेस करने पर गड़बड़ी होती है.