मैं रूबी के साथ प्रोग्राम करने के लिए सीखने के लिए आईआरबी (इंटरेक्टिव रूबी कंसोल) का उपयोग कर रहा हूं। यदि मैं किसी पाठ संपादक में अपने कार्यक्रम पहले लिखता हूं, तो मैं कंसोल में फ़ाइल कैसे लोड करूं?
मैं रूबी के साथ प्रोग्राम करने के लिए सीखने के लिए आईआरबी (इंटरेक्टिव रूबी कंसोल) का उपयोग कर रहा हूं। यदि मैं किसी पाठ संपादक में अपने कार्यक्रम पहले लिखता हूं, तो मैं कंसोल में फ़ाइल कैसे लोड करूं?
जवाबों:
यदि आपको केवल एक फाइल को आईआरबी में लोड करने की आवश्यकता है, तो आप 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 में पथ को लोड करने का एक और तरीका है बस आवश्यकता है तो फ़ाइल को टर्मिनल में खींचें और छोड़ें।-लिनक्स लिनक्स मिंट का उपयोग करके।