2011-08-16 14 views
42

में फ़ाइल खोलने का तरीका मैं रूबी में नया प्रोग्रामर हूं। क्या कोई रूबी में आर +, डब्ल्यू +, ए + मोड के साथ फाइल खोलने के बारे में एक उदाहरण ले सकता है? उनके बीच क्या अंतर है और आर, डब्ल्यू, ए?रुबी

कृपया समझाएं, और एक उदाहरण प्रदान करें।

उत्तर

85

फ़ाइल खुले मोड रूबी के लिए वास्तव में विशिष्ट नहीं हैं - वे आईईईई स्टडी 1003.1 (Single UNIX Specification) का हिस्सा हैं। आप यहाँ इसके बारे में अधिक पढ़ सकते हैं:

http://pubs.opengroup.org/onlinepubs/009695399/functions/fopen.html

r or rb 
    Open file for reading. 

w or wb 
    Truncate to zero length or create file for writing. 

a or ab 
    Append; open or create file for writing at end-of-file. 

r+ or rb+ or r+b 
    Open file for update (reading and writing). 

w+ or wb+ or w+b 
    Truncate to zero length or create file for update. 

a+ or ab+ or a+b 
    Append; open or create file for update, writing at end-of-file. 

कि पत्र 'बी' बाइनरी फ़ाइल के लिए खड़ा होता है किसी भी मोड। यदि 'बी' मौजूद नहीं है तो 'सादा पाठ' फ़ाइल है।

'खुला' और 'अद्यतन के लिए खुला' के बीच अंतर के रूप में दर्शाया गया है:

एक फ़ाइल अद्यतन मोड के साथ खोला जाता है ('+' मोड तर्क में दूसरे या तीसरे चरित्र के रूप में), दोनों इनपुट और आउटपुट संबंधित धारा पर किया जा सकता है। हालांकि, एप्लिकेशन यह सुनिश्चित करेगा कि आउटपुट सीधे एफएफएलयूश() या फ़ाइल पोजीशनिंग फ़ंक्शन (fseek(), fsetpos(), या रिवाइंड() पर हस्तक्षेप कॉल के बिना इनपुट द्वारा नहीं किया जाता है, और इनपुट का सीधे पालन नहीं किया जाता है फ़ाइल पोजीशनिंग फ़ंक्शन में हस्तक्षेप करने वाले कॉल के बिना आउटपुट, जब तक कि इनपुट ऑपरेशन अंत में फ़ाइल का सामना न करे।

एक त्वरित उदाहरण निम्नलिखित एक फाइल करने के लिए जोड़कर दर्शाता में रुचि लोगों के लिए
+0

: 'गूंज" foobar "> some_file && माणिक -e 'File.open (" some_file "," एक ") {| F | f.puts "catdog"} '' – mbigras