2010-06-03 8 views
9

के बाद आउटपुट फ़ाइल के लिए ERB उपयोग करने के लिए मैं निम्न उदाहरण मिला है।कैसे बाध्यकारी

किसी अन्य फ़ाइल में आउटपुट करने का सबसे आसान तरीका क्या है: स्क्रीन के बजाय "text2.txt"?

मुझे पता है कि यह वास्तव में केक का एक टुकड़ा है जिसके लिए आप रूबी स्वामी का अनुभव करते हैं, लेकिन मेरे लिए जिन्होंने अभी नौसिखिया से शुरुआती रूबी उठाई है ... अब यह चुनौतीपूर्ण है ... लेकिन मैं कोड का उपयोग करना चाहता हूं वास्तविक जीवन उद्देश्य ...

धन्यवाद !!!

उत्तर

20

ध्यान दें कि ईआरबी इसे प्रिंट नहीं कर रहा है - आप हैं।

print erb.result(binding) 

चलो इसे बदल दें। हम w मोड में फ़ाइल हैंडल खोलेंगे, और फ़ाइल में ईआरबी परिणाम लिखेंगे।

File.open('text2.txt', 'w') do |f| 
    f.write erb.result(binding) 
end 

File.open('text2.txt', 'w')w संस्कार मोड में फ़ाइल text2.txt खोलता है, और ब्लॉक में है कि फाइल वस्तु से गुजरता है। f.write फ़ाइल में इसके तर्क को आउटपुट करता है। कुछ मामलों में आपको अपने कंप्यूटर पर अन्य प्रक्रियाओं को फ़ाइल तक पहुंचने की अनुमति देने के लिए f.close पर कॉल करने की आवश्यकता हो सकती है, लेकिन चूंकि हमने इसके बजाय ब्लॉक नोटेशन का उपयोग किया है, इसलिए ब्लॉक के अंत में फ़ाइल स्वचालित रूप से बंद हो जाती है।

कोड अनचाहे - अगर आपको कोई त्रुटि मिलती है तो मुझे बताएं। आपकी कोडिंग यात्रा पर शुभकामनाएँ!

+0

जो वास्तव में अच्छा है, विस्तृत स्पष्टीकरण! धन्यवाद! – john

संबंधित मुद्दे