फ़ाइल

समस्या की शिकायत करें सोर्स देखें

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

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

पैसे चुकाकर बने सदस्यों के लिए

basename

string File.basename

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

dirname

string File.dirname

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

एक्सटेंशन

string File.extension

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

is_directory

bool File.is_directory

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

is_source

bool File.is_source

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

मालिक

Label File.owner

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

पाथ

string File.path

फ़ाइल फ़ोल्डर की एक्ज़ीक्यूशन डायरेक्ट्री के हिसाब से, इस फ़ाइल का एक्ज़ीक्यूशन पाथ. इसमें दो हिस्से होते हैं. पहला हिस्सा, जो ज़रूरी नहीं है उसे रूट (रूट मॉड्यूल भी देखें) कहा जाता है और दूसरा हिस्सा 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(). दूसरी तरह की फ़ाइलों के लिए, इस फ़ील्ड को ऐक्सेस करने में गड़बड़ी होती है.