2010-04-16 15 views
5

जैसा कि मैं रुबी भाषा को अपनाकर अपनी यात्रा के माध्यम से जा रहा हूं, मैं आईआरबी के अंदर बहुत समय बिताता हूं। यह सिर्फ शानदार है!आईआरबी: प्री-लोडेड कक्षाओं के साथ एक इंटरैक्टिव रूबी सत्र कैसे शुरू करें

  • कैसे कर सकता है मैं "फ्लश" सत्र, आईआरबी को पुन: प्रारंभ बिना (या है: लेकिन, जैसा कि मैं इसके बारे में बहुत जागरूक नहीं कर रहा हूँ क्षमताओं रूबी के साथ एक "nubby" है, और अभी भी, मैं निम्नलिखित जानना चाहते हैं यह संभव नहीं है)।
  • मैं आईआरबी को स्रोत फ़ाइलों "हैलो.आरबी" और "hello_objects.rb", यानी स्टार्टअप पर लोड करने के लिए कैसे कॉन्फ़िगर कर सकता हूं? मैं इन में बहुत काम कर रहा हूं और इन वर्गों को लोड करने के लिए एक छोटा हाथ जानना अच्छा लगेगा, मैन्युअल रूप से प्रत्येक के लिए 'लोड' टाइप किए बिना।

उत्तर

16

मुझे यकीन नहीं है कि एक सत्र 'फ्लश' करना संभव है। हालांकि, आप अपनी कक्षाएं इस तरह लोड कर सकते हैं:

irb -r 'hello.rb' -r 'hello_objects.rb' 
+0

अच्छा, बहुत बहुत धन्यवाद! – Shyam

+3

आपकी सभी आवश्यकताएं एक आरबी फ़ाइल में रखने के लिए उपयोगी हो सकती हैं और फिर बस उस की आवश्यकता होती है। – Beanish

6

आप irb में सत्र प्रबंधित कर सकते हैं। आईआरबी शुरू करें और इसे आजमाएं:

x=1 
irb  # Opens a new session 
puts x # error 
jobs # lists sessions 
quit # kills current session 
puts x # 1 

"एफजी (संख्या)" आदेश भी है जो सत्रों के बीच स्विच करता है। देखें: http://tagaholic.me/2009/05/11/demystifying-irb-commands.html

2

आप किसी भी रूबी कोड को अपनी ~/.irbrc फ़ाइल में डाल सकते हैं, जब भी आप आईआरबी चलाते हैं तो इसका मूल्यांकन किया जाएगा। इस मामले में आपको बयान की आवश्यकता है।

2

ये प्रत्यक्ष उत्तर नहीं हैं लेकिन अधिक समझने की आपकी इच्छा पर लागू हो सकते हैं।

कंसोल ऑब्जेक्ट में कई "irb" विधियां उपलब्ध हैं।

methods.grep(/irb/).sort 
=> ["irb", "irb_bindings", "irb_cb", "irb_change_binding", "irb_change_workspace", 
"irb_chws", "irb_context", "irb_current_working_binding", "irb_current_working_workspace", 
"irb_cwb", "irb_cws", "irb_cwws", "irb_exit", "irb_fg", "irb_jobs", "irb_kill", "irb_load", 
"irb_pop_binding", "irb_pop_workspace", "irb_popb", "irb_popws", "irb_print_working_binding", 
"irb_print_working_workspace", "irb_push_binding", "irb_push_workspace", "irb_pushb", 
"irb_pushws", "irb_pwb", "irb_pwws", "irb_quit", "irb_require", "irb_source", "irb_workspaces"] 

कुछ मज़े उन लोगों के साथ खेल रहे हैं।

conf 
=> conf.ap_name="irb" 
conf.auto_indent_mode=false 
conf.back_trace_limit=16 
conf.debug_level=1 
conf.echo=true 
conf.ignore_eof=false 
conf.ignore_sigint=true 
conf.inspect_mode=nil 
conf.io=#<IRB::StdioInputMethod:0x79da0> 
conf.irb=#<IRB::Irb:0x7c58c> 
conf.irb_name="irb" 
conf.irb_path="(irb)" 
conf.last_value=... 
conf.line_no=6 
conf.load_modules=[] 
conf.prompt_c="%N(%m):%03n:%i* " 
conf.prompt_i="%N(%m):%03n:%i> " 
conf.prompt_mode=:DEFAULT 
conf.prompt_s="%N(%m):%03n:%i%l " 
conf.rc=true 
conf.return_format="=> %s\n" 
conf.thread=#<Thread:0x31790 run> 
conf.use_readline=false 
conf.verbose=nil 
conf.workspace=#<IRB::WorkSpace:0x7aa84 @main=main, @binding=#<Binding:0x7a2a0>> 
3

मेरा मानना ​​है कि आप के लिए अपने ~/.irbrc फ़ाइल को संशोधित किया गया है जो खोज रहे हैं:

एक और "conf" वस्तु है कि आपके आईआरबी पर्यावरण के बारे में प्रतिक्रिया देता है। इसका पहले उल्लेख किया गया था, लेकिन कोई उदाहरण नहीं दिया गया। यहां कुछ सामान्य उपयोगिताओं की आवश्यकता है, जिन्हें आप अपने आईआरबी सत्र में चाहते हैं:

# Print to yaml format with "y" 
require 'yaml' 
# Pretty printing 
require 'pp' 
# Ability to load rubygem modules 
require 'rubygems' 
# Tab completion 
require 'irb/completion' 
संबंधित मुद्दे