फ़ाइल

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

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