2012-10-28 6 views
63

मैं रूबी के साथ प्रोग्राम करने के तरीके के बारे में जानने के लिए आईआरबी (इंटरैक्टिव रूबी कंसोल) का उपयोग कर रहा हूं। अगर मैं अपने प्रोग्राम को टेक्स्ट एडिटर में लिखता हूं तो मैं कंसोल में फाइल कैसे लोड करूं?रूबी: इंटरैक्टिव रूबी कंसोल (आईआरबी) में फ़ाइल कैसे लोड करें?

+0

क्या [यह] [1] आप क्या हासिल करना चाहते हैं? [1]: http://stackoverflow.com/a/2652558/919641 – pjam

+1

स्रोत ("filename.rb") –

उत्तर

3

यह आपके रूबी पर निर्भर करता है। रूबी 1.8 में आपका वर्तमान पथ शामिल है, जबकि रूबी 1.9 नहीं है। यह निर्धारित करने के लिए कि आपका पथ शामिल है या नहीं, $: का मूल्यांकन करें। तो रूबी 1.9 में आपको पूरे पथ का उपयोग करना होगा, जो हमेशा एक सुरक्षित शर्त है।

फिर आप फ़ाइल को शामिल करने के लिए require या load का उपयोग कर सकते हैं।

require आपको इसे खोजने का प्रयास करते समय फ़ाइल के प्रत्यय को जोड़ने की आवश्यकता नहीं है और केवल एक बार फ़ाइल शामिल होगी। require का उपयोग अधिकांश समय load के बजाय किया जाना चाहिए।

चेक बाहर Adding a directory to $LOAD_PATH (Ruby) आप गहरे लाल रंग का 1.8

63

का उपयोग किया जा रहे हैं अगर आप केवल अगर यह एक ही निर्देशिका में है आप irb -r ./your_file.rb साथ यह आह्वान कर सकते हैं आईआरबी में एक फ़ाइल को लोड करने की जरूरत है।

यह स्वचालित रूप से फ़ाइल की आवश्यकता है और आपको तुरंत इसके साथ काम करने की अनुमति देता है।

+1

तुम सिर्फ प्रत्येक फ़ाइल के बीच -r से अधिक जोड़ने चाहते हैं, अच्छी तरह से है कि क्या हो रहा है मैं करता हूं और यह काम करता है। इस तरह मैं अपनी सभी फाइलों को आईआरबी में लोड करता हूं, इसलिए मैं अपने सभी ऐप की सामग्री को आईआरबी के भीतर एक्सेस कर सकता हूं, बेशक मैं बूट फ़ाइल को आईआरबी में लोड करने के लिए एक रेक स्क्रिप्ट का उपयोग करता हूं, इसलिए मैं सिर्फ 'आईआरबी रेक' कर सकता हूं और यह सब मेरे लिए करता है। – Thermatix

+0

यह आदमी पढ़ने के बाद मेरा पहला प्रयास था, लेकिन मैं कुछ_file.rb का उपयोग करता हूं, 30 मिनट बाद मुझे यह मिला और जोड़ा गया ./, धन्यवाद xd – Alexis

+0

उबंटू 16.04 में, मैं डॉट को हटाता हूं: 'irb -r/foo/foo .rb' – noobninja

23

irb

में टाइप करें और उस ruby_file.rb तो

require './ruby_file.rb' 

यह मानते हुए है एक ही निर्देशिका में है। तदनुसार समायोजित करें।

irb -I . -r foo.rb 

जहां foo.rb फ़ाइल मैं अपने वर्तमान से लोड करना चाहते है:

+3

आप 'requ_relative' का भी उपयोग कर सकते हैं। जैसे 'की आवश्यकता है ./lib/foo" '' requ_relative "lib/foo" ' – Dennis

+0

'.rb' जैसा ही वैकल्पिक है, आप' आवश्यकता 'लिख सकते हैं ./ruby_file'। मैंने 'रूबी 1.9.3p551' –

+0

में चेक किया।/Do क्या करता है? – the12

33

Ubuntu 14.04 पर गहरे लाल रंग का 1.9.3 का उपयोग करना, मैं निम्नलिखित कमांड लाइन के साथ irb में वर्तमान निर्देशिका से फ़ाइलों को लोड करने के लिए कर रहा हूँ निर्देशिका। रूबी के लोड पथ में बताए गए अनुसार, वर्तमान निर्देशिका (.) को रूबी के लोड पथ में जोड़ने के लिए -I विकल्प आवश्यक है। यह वर्तमान निर्देशिका से require फ़ाइलों को संभव बनाता है, जो -r विकल्प irb पर उपलब्ध है।

जब यह समस्या थी तो मेरे लिए यह महत्वपूर्ण टुकड़ा मेरे लिए स्पष्ट नहीं था -I विकल्प। एक बार ऐसा करने के बाद, आप वर्तमान निर्देशिका में किसी भी फाइल के लिए irb के भीतर require 'foo.rb' पर कॉल कर सकते हैं। और निश्चित रूप से, आप विकल्प के साथ . पर अपनी इच्छित निर्देशिका निर्दिष्ट कर सकते हैं। लोड पथ पर एकाधिक निर्देशिका में शामिल करने के लिए, उन्हें एक पेट के साथ अलग (:), उदा .:

irb -I foo/:bar/:baz/ 

यह आदेश foo, bar, और baz गहरे लाल रंग का लोड पथ के लिए निर्देशिका जोड़ देगा।

irb -r ./foo.rb 

या irb के भीतर से:

> require './foo.rb' 
10

दो तरीके

अंतिम विकल्प जब require या -r का उपयोग कर एक फ़ाइल को लोड करने के लिए फ़ाइल के सापेक्ष या निरपेक्ष पथ का उपयोग करने के लिए है:

  1. स्रोत लोड करने के लिए बुद्धि यह केवल देता है -

source("filename.rb")

  1. कार्यक्रम चलाने के लिए और फिर इंटरैक्टिव मोड में ड्रॉप: - होउट कार्यक्रम चलाने इस सभी चर और कार्यों के लिए पहुँच देता है कार्यों के लिए उपयोग, नहीं चर:

require("filename.rb")

0

आईआरबी में पथ लोड करने के लिए सिर्फ टाइप की आवश्यकता होती है तो खींचें और च छोड़ रहा है एक और तरीका है टर्मिनल में ile। - लिनक्स मिंट का उपयोग करके परीक्षण किया गया।

+0

यह ऑपरेटिंग सिस्टम किस पर काम करता है? – Adam

+0

लिनक्स मिंट। क्षमा करें मुझे इसे जोड़ना चाहिए था। –

1

प्रकार विस्तार .rb साथ पाठ संपादक

यह सहेजें में गहरे लाल रंग का कोड (उदाहरण के लिए: demo.rb)।

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

उसके बाद, आईआरबी और अपना फ़ाइल नाम टाइप करें (अपना एक्सटेंशन (.rb) शामिल करना न भूलें)।

click here to see loading a ruby file using irb

उस छवि में, मैं एक साधारण गहरे लाल रंग का फ़ाइल जो केवल प्रिंट "रूबी" लोड।

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