आईआरबी: पूर्व लोड किए गए वर्गों के साथ एक इंटरैक्टिव रूबी सत्र कैसे शुरू करें - रूबी, कॉन्फ़िगरेशन, अनुकूलन, आईआरबी

जैसा कि मैं अपनी यात्रा के माध्यम से गोद ले जा रहा हूँरूबी भाषा, मैं आईआरबी के अंदर बहुत समय बिताता हूं। यह सिर्फ शानदार है! लेकिन, क्योंकि मुझे इसकी क्षमताओं से अवगत नहीं है, और अभी भी रुबी के साथ "नब्बी" है, मैं निम्नलिखित जानना चाहता हूं:

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

उत्तर:

उत्तर № 1 के लिए 16

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

irb -r "hello.rb" -r "hello_objects.rb"

जवाब के लिए 6 № 2

आप 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


जवाब के लिए 3 № 3

मुझे विश्वास है कि आप जो खोज रहे हैं वह संशोधित हैआपकी ~ / .irbrc फ़ाइल। इसका पहले उल्लेख किया गया था, लेकिन कोई उदाहरण नहीं दिया गया। आपके आईआरबी सत्र में कुछ सामान्य उपयोगिताओं की आवश्यकता के बारे में यहां एक संक्षिप्त उदाहरण दिया गया है:

# Print to yaml format with "y"
require "yaml"
# Pretty printing
require "pp"
# Ability to load rubygem modules
require "rubygems"
# Tab completion
require "irb/completion"

जवाब के लिए 2 № 4

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


जवाब के लिए 2 № 5

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

कंसोल ऑब्जेक्ट में कई "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" ऑब्जेक्ट है जो आपके irb पर्यावरण के बारे में प्रतिक्रिया देता है:

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="=> %sn"
conf.thread=#<Thread:0x31790 run>
conf.use_readline=false
conf.verbose=nil
conf.workspace=#<IRB::WorkSpace:0x7aa84 @main=main, @binding=#<Binding:0x7a2a0>>

संबंधित सवाल
सबसे लोकप्रिय