फ़ाइल

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

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

पैसे चुकाकर बने सदस्य

basename

string File.basename

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

dirname

string File.dirname

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

एक्सटेंशन

string File.extension

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

is_directory

bool File.is_directory

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

is_source

bool File.is_source

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

मालिक

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