मैं रूबी के साथ प्रोग्राम करने के लिए सीखने के लिए आईआरबी (इंटरेक्टिव रूबी कंसोल) का उपयोग कर रहा हूं। यदि मैं किसी पाठ संपादक में अपने कार्यक्रम पहले लिखता हूं, तो मैं कंसोल में फ़ाइल कैसे लोड करूं?
मैं रूबी के साथ प्रोग्राम करने के लिए सीखने के लिए आईआरबी (इंटरेक्टिव रूबी कंसोल) का उपयोग कर रहा हूं। यदि मैं किसी पाठ संपादक में अपने कार्यक्रम पहले लिखता हूं, तो मैं कंसोल में फ़ाइल कैसे लोड करूं?
जवाबों:
यदि आपको केवल एक फाइल को आईआरबी में लोड करने की आवश्यकता है, तो आप irb -r ./your_file.rbइसे उसी निर्देशिका में भेज सकते हैं ।
इसके लिए स्वचालित रूप से फ़ाइल की आवश्यकता होती है और आपको तुरंत इसके साथ काम करने की अनुमति देता है।
rake irbऔर यह मेरे लिए यह सब करता है।
irb -r /foo/foo.rb
Ubuntu 14.04 पर रूबी 1.9.3 का उपयोग करते हुए, मैं वर्तमान irbकमांड से निम्न कमांड लाइन के साथ फाइल लोड करने में सक्षम हूं :
irb -I . -r foo.rb
foo.rbवह फाइल कहां है जिसे मैं अपनी वर्तमान निर्देशिका से लोड करना चाहता हूं। -Iविकल्प वर्तमान निर्देशिका (जोड़ने के लिए आवश्यक है .के रूप में गहरे लाल रंग का आदमी पेज में विस्तार से बताया, माणिक लोड पथ के लिए)। यह requireवर्तमान निर्देशिका से फ़ाइलों को संभव बनाता है , जो कि -rविकल्प को irbपूरा करता है।
जब मेरे पास यह समस्या थी तो वह महत्वपूर्ण टुकड़ा मेरे लिए स्पष्ट नहीं था -I। एक बार जब आप ऐसा करते हैं, आप कॉल कर सकते हैं require 'foo.rb'के भीतर से irbवर्तमान निर्देशिका में किसी भी फाइल के लिए। और निश्चित रूप से, आप किसी भी निर्देशिका को निर्दिष्ट कर सकते हैं, न कि केवल विकल्प के .साथ -I। लोड पथ पर कई निर्देशिकाओं को शामिल करने के लिए, उन्हें एक बृहदान्त्र (:), जैसे अलग करें:
irb -I foo/:bar/:baz/
यह आदेश निर्देशिका जोड़ना होगा foo, barऔर bazगहरे लाल रंग का लोड पथ के लिए।
अंतिम विकल्प फ़ाइल का उपयोग करते समय requireया -rलोड करने के लिए फ़ाइल के सापेक्ष या निरपेक्ष पथ का उपयोग करना है:
irb -r ./foo.rb
या भीतर से irb:
> require './foo.rb'
में टाइप करें irb
और तब
require './ruby_file.rb'
यह मानकर चल रहा है कि ruby_file.rb उसी निर्देशिका में है। तदनुसार समायोजित करें।
require_relative। जैसे require "./lib/foo"कि वैसा ही हैrequire_relative "lib/foo"
.rbवैकल्पिक है, आप require './ruby_file'. I checked in माणिक 1.9.3p551`
दो तरीके:
source("filename.rb")
require("filename.rb")
requireजो स्क्रिप्ट को फिर से लोड करने के लिए प्रकट नहीं होता है (मूल स्रोत में कोई भी संशोधन आपके सत्र में परिलक्षित नहीं होता है), जबकि sourceमूल स्क्रिप्ट में परिवर्तन को प्रतिबिंबित करने के लिए प्रकट होता है।
यह आपके माणिक्य पर निर्भर करता है। रूबी 1.8 में आपका वर्तमान पथ शामिल है, जबकि रूबी 1.9 नहीं है। $:यह निर्धारित करने के लिए मूल्यांकन करें कि क्या आपका रास्ता शामिल है या नहीं। तो रूबी 1.9 में आपको पूरे रास्ते का उपयोग करना चाहिए, जो हमेशा एक सुरक्षित शर्त है।
फिर आप फ़ाइल का उपयोग requireया loadशामिल कर सकते हैं ।
requireइसे खोजने की कोशिश करते समय आपको फ़ाइल का प्रत्यय जोड़ने की आवश्यकता नहीं होती है और केवल एक बार फ़ाइल को शामिल करना होगा। ज्यादातर समय के requireबजाय इस्तेमाल किया जाना चाहिए load।
यदि आप रूबी 1.8 का उपयोग करने जा रहे हैं, तो $ LOAD_PATH (रूबी) में एक निर्देशिका जोड़ना देखें
टेक्स्ट एडिटर में माणिक कोड टाइप करें
इसे एक्सटेंशन .rb के साथ सहेजें (उदाहरण के लिए: Demo.rb )।
लिनक्स में, अपना टर्मिनल खोलें फिर निर्देशिका को उस फ़ाइल के वर्तमान स्थान में बदलें (सीडी कमांड का उपयोग निर्देशिका को बदलने के लिए किया जाता है)।
उसके बाद, irb और अपना फ़ाइल नाम टाइप करें (अपना एक्सटेंशन (.rb) शामिल करना न भूलें)।
उस छवि में, मैंने एक साधारण रूबी फ़ाइल लोड की जो केवल "रूबी" प्रिंट करती है।
Irb में पथ को लोड करने का एक और तरीका है बस आवश्यकता है तो फ़ाइल को टर्मिनल में खींचें और छोड़ें।-लिनक्स लिनक्स मिंट का उपयोग करके।