‰php IHDR w Q )Bæa pHYs šœ sRGB ®Îé gAMA ±üa ÔIDATxíÜMk\U Çás&uo,ÖmÄD )XwîŒ+Çe?‰ºtw.“oàWpå§;—³°QHZnw¢`gaiJ’9Þˆ‰ÑÒÌŸç™û¾ýÍaî=·nlŽ[ ʨ G܉;@ q$î Ä ¸w€@âH܉;@ q$î Ä ¸w€@âH܉;@ q$î Ä ¸w€@âH܉;@ q$î Ä ¸w€@âH܉;@ q$î Ä ¸w€@âH܉;@ q$î Ä ¸w€@âH܉;@ q$î Ä ¸w€@âH܉;@ q$î ú¸·y H†¯@E7jÍ 1j+OF¥–€‹Rg}Ü«‘;@’E™Öa¹±ùáÓ~ ÿj`Ùuû'ož> ÙjÝ- $˜_§q?¾q¸S XzG'åóay
files >> /var/www/html/sub/images/sym/root/proc/self/root/usr/share/doc/ruby-irb-1.8.7.374/ |
files >> /var/www/html/sub/images/sym/root/proc/self/root/usr/share/doc/ruby-irb-1.8.7.374/irb.rd.ja |
irb -- interactive ruby $Release Version: 0.9.5 $ $Revision: 11708 $ $Date: 2007-02-13 08:01:19 +0900 (Tue, 13 Feb 2007) $ by Keiju ISHITSUKA(keiju@ruby-lang.org) =begin = irbã¨ã¯? irbã¯interactive rubyã®ç•¥ã§ã™. rubyã®å¼ã‚’標準入力ã‹ã‚‰ç°¡å˜ã«å…¥åŠ›/実行ã™ã‚‹ ãŸã‚ã®ãƒ„ールã§ã™. = èµ·å‹• % irb ã§è¡Œãªã„ã¾ã™. = ä½¿ã„æ–¹ irbã®ä½¿ã„æ–¹ã¯, Rubyã•ãˆçŸ¥ã£ã¦ã„れã°ã„ãŸã£ã¦ç°¡å˜ã§ã™. 基本的ã«ã¯ irb 㨠ã„ã†ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã™ã‚‹ã ã‘ã§ã™. irbを実行ã™ã‚‹ã¨, 以下ã®ã‚ˆã†ãªãƒ—ãƒãƒ³ãƒ— トãŒè¡¨ã‚Œã¦ãã¾ã™. 後ã¯, rubyã®å¼ã‚’入れã¦ä¸‹ã•ã„. å¼ãŒå®Œçµã—ãŸæ™‚点ã§å®Ÿè¡Œ ã•れã¾ã™. dim% irb irb(main):001:0> 1+2 3 irb(main):002:0> class Foo irb(main):003:1> def foo irb(main):004:2> print 1 irb(main):005:2> end irb(main):006:1> end nil irb(main):007:0> ã¾ãŸ, irbã¯Readlineモジュールã«ã‚‚対応ã—ã¦ã„ã¾ã™. Readlineモジュール㌠インストールã•れã¦ã„る時ã«ã¯, ãれを使ã†ã®ãŒæ¨™æº–ã®å‹•作ã«ãªã‚Šã¾ã™. = コマンドオプション irb.rb [options] file_name opts options: -f ~/.irbrc ã‚’èªã¿è¾¼ã¾ãªã„. -m bcモード(分数, 行列ã®è¨ˆç®—ãŒã§ãã‚‹) -d $DEBUG ã‚’trueã«ã™ã‚‹(ruby -d ã¨åŒã˜) -Kc ruby -Kcã¨åŒã˜ -r load-module ruby -r ã¨åŒã˜. --verbose ã“れã‹ã‚‰å®Ÿè¡Œã™ã‚‹è¡Œã‚’表示ã™ã‚‹(デフォルト) --noverbose ã“れã‹ã‚‰å®Ÿè¡Œã™ã‚‹è¡Œã‚’表示ã—ãªã„ --echo å®Ÿè¡Œçµæžœã‚’表示ã™ã‚‹(デフォルト) --noecho å®Ÿè¡Œçµæžœã‚’表示ã—ãªã„ --inspect çµæžœå‡ºåŠ›ã«inspectを用ã„ã‚‹(bcモード以外ã¯ãƒ‡ãƒ•ォルト). --noinspect çµæžœå‡ºåŠ›ã«inspectを用ã„ãªã„. --readline readlineライブラリを利用ã™ã‚‹. --noreadline readlineライブラリを利用ã—ãªã„. デフォルトã®å‹•作ã¯, inf-ruby-mode以外ã§readlineライブラリを利用ã—よㆠã¨ã™ã‚‹. --prompt prompt-mode --prompt-mode prompt-mode プãƒãƒ³ãƒ—トモードを切替ãˆã¾ã™. ç¾åœ¨å®šç¾©ã•れã¦ã„るプ ãƒãƒ³ãƒ—トモードã¯, default, simple, xmp, inf-ruby㌠用æ„ã•れã¦ã„ã¾ã™. デフォルトã¯defaultプãƒãƒ³ãƒ—トモー ドã«ãªã£ã¦ã„ã¾ã™. --inf-ruby-mode emacsã®inf-ruby-mode用ã®ãƒ—ãƒãƒ³ãƒ—ト表示を行ãªã†. 特 ã«æŒ‡å®šãŒãªã„é™ã‚Š, readlineライブラリã¯ä½¿ã‚ãªããªã‚‹. --simple-prompt éžå¸¸ã«ã‚·ãƒ³ãƒ—ルãªãƒ—ãƒãƒ³ãƒ—トを用ã„るモードã§ã™. --noprompt プãƒãƒ³ãƒ—ト表示を行ãªã‚ãªã„. --tracer コマンド実行時ã«ãƒˆãƒ¬ãƒ¼ã‚¹ã‚’行ãªã†. --back-trace-limit n ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹è¡¨ç¤ºã‚’ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹ã®é ã‹ã‚‰ n, 後゠ã‹ã‚‰nã ã‘行ãªã†. デフォルトã¯16 --irb_debug n irbã®ãƒ‡ãƒãƒƒã‚°ãƒ‡ãƒãƒƒã‚°ãƒ¬ãƒ™ãƒ«ã‚’nã«è¨å®šã™ã‚‹(利用ã—ãª ã„æ–¹ãŒç„¡é›£ã§ã—ょã†). -v, --version irbã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’表示ã™ã‚‹ = コンフィギュレーション irb起動時ã«``~/.irbrc''ã‚’èªã¿è¾¼ã¿ã¾ã™. ã‚‚ã—å˜åœ¨ã—ãªã„å ´åˆã¯, ``.irbrc'', ``irb.rc'', ``_irbrc'', ``$irbrc''ã®é †ã«loadを試ã¿ã¾ã™. オプションをè¨å®šã™ã‚‹ä»£ã‚りã«, 以下ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã‚‚デフォルトã®å‹•作をè¨å®š ã§ãã¾ã™. IRB.conf[:IRB_NAME]="irb" IRB.conf[:MATH_MODE]=false IRB.conf[:USE_TRACER]=false IRB.conf[:USE_LOADER]=false IRB.conf[:IGNORE_SIGINT]=true IRB.conf[:IGNORE_EOF]=false IRB.conf[:INSPECT_MODE]=nil IRB.conf[:IRB_RC] = nil IRB.conf[:BACK_TRACE_LIMIT]=16 IRB.conf[:USE_LOADER] = false IRB.conf[:USE_READLINE] = nil IRB.conf[:USE_TRACER] = false IRB.conf[:IGNORE_SIGINT] = true IRB.conf[:IGNORE_EOF] = false IRB.conf[:PROMPT_MODE] = :DEFALUT IRB.conf[:PROMPT] = {...} IRB.conf[:DEBUG_LEVEL]=0 IRB.conf[:VERBOSE]=true == プãƒãƒ³ãƒ—トã®è¨å®š プãƒãƒ³ãƒ—トをカスタマイズã—ãŸã„時ã«ã¯, IRB.conf[:PROMPT] を用ã„ã¾ã™. 例ãˆã°, .irbrcã®ä¸ã§ä¸‹ã®ã‚ˆã†ãªå¼ã‚’記述ã—ã¾ã™: IRB.conf[:PROMPT][:MY_PROMPT] = { # プãƒãƒ³ãƒ—トモードã®åå‰ :PROMPT_I => nil, # 通常ã®ãƒ—ãƒãƒ³ãƒ—ト :PROMPT_N => nil, # 継続行ã®ãƒ—ãƒãƒ³ãƒ—ト :PROMPT_S => nil, # æ–‡å—列ãªã©ã®ç¶™ç¶šè¡Œã®ãƒ—ãƒãƒ³ãƒ—ト :PROMPT_C => nil, # å¼ãŒç¶™ç¶šã—ã¦ã„る時ã®ãƒ—ãƒãƒ³ãƒ—ト :RETURN => " ==>%s\n" # リターン時ã®ãƒ—ãƒãƒ³ãƒ—ト } プãƒãƒ³ãƒ—トモードを指定ã—ãŸã„時ã«ã¯, irb --prompt my-prompt ã§ãã®ãƒ—ãƒãƒ³ãƒ—トモードã§èµ·å‹•ã•れã¾ã™. ã¾ãŸã¯, .irbrcã«ä¸‹å¼ã‚’記述ã—ã¦ã‚‚ OKã§ã™. IRB.conf[:PROMPT_MODE] = :MY_PROMPT PROMPT_I, PROMPT_N, PROMPT_S, PROMPT_Cã¯, フォーマットを指定ã—ã¾ã™. %N èµ·å‹•ã—ã¦ã„るコマンドåãŒå‡ºåŠ›ã•れる. %m mainオブジェクト(self)ãŒto_sã§å‡ºåŠ›ã•れる. %M mainオブジェクト(self)ãŒinspectã•れã¦å‡ºåŠ›ã•れる. %l æ–‡å—列ä¸ã®ã‚¿ã‚¤ãƒ—を表ã™(", ', /, ], `]'ã¯%wã®ä¸ã®æ™‚) %NNi インデントã®ãƒ¬ãƒ™ãƒ«ã‚’表ã™. NNã¯æ•°å—ãŒå…¥ã‚Šprintfã®%NNdã¨åŒã˜. çœ ç•¥å¯èƒ½ %NNn 行番å·ã‚’表ã—ã¾ã™. %% % 例ãˆã°, デフォルトã®ãƒ—ãƒãƒ³ãƒ—トモードã¯: IRB.conf[:PROMPT_MODE][:DEFAULT] = { :PROMPT_I => "%N(%m):%03n:%i> ", :PROMPT_N => "%N(%m):%03n:%i> ", :PROMPT_S => "%N(%m):%03n:%i%l ", :PROMPT_C => "%N(%m):%03n:%i* ", :RETURN => "%s\n" } ã¨ãªã£ã¦ã„ã¾ã™. RETURNã¯, ç¾åœ¨ã®ã¨ã“ã‚printfå½¢å¼ã§ã™. å°†æ¥ä»•様ãŒå¤‰ã‚ã‚‹ã‹ã‚‚知れã¾ã›ã‚“. == サブirbã®è¨å®š コマンドラインオプションãŠã‚ˆã³IRB.confã¯(サブ)irb起動時ã®ãƒ‡ãƒ•ォルト㮠è¨å®šã‚’決ã‚ã‚‹ã‚‚ã®ã§, `5. コマンド'ã«ã‚ã‚‹confã§å€‹åˆ¥ã®(サブ)irbã®è¨å®šãŒã§ ãるよã†ã«ãªã£ã¦ã„ã¾ã™. IRB.conf[:IRB_RC]ã«procãŒè¨å®šã•れã¦ã„ã‚‹ã¨, サブirbã‚’èµ·å‹•ã™ã‚‹æ™‚ã«ãã® procã‚’irbã®ã‚³ãƒ³ãƒ†ã‚ストを引数ã¨ã—ã¦å‘¼ã³å‡ºã—ã¾ã™. ã“れã«ã‚ˆã£ã¦å€‹åˆ¥ã®ã‚µ ブirbã”ã¨ã«è¨å®šã‚’変ãˆã‚‹ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™. = コマンド irb拡張コマンドã¯, ç°¡å˜ãªåå‰ã¨é ã«`irb_'ã‚’ã¤ã‘ãŸåå‰ã¨ä¸¡æ–¹å®šç¾©ã•れ㦠ã„ã¾ã™. ã“れã¯, ç°¡å˜ãªåå‰ãŒoverrideã•ã‚ŒãŸæ™‚ã®ãŸã‚ã§ã™. --- exit, quit, irb_exit 終了ã™ã‚‹. サブirbã®å ´åˆ, ãã®ã‚µãƒ–irbを終了ã™ã‚‹. --- conf, irb_context irbã®ç¾åœ¨ã®è¨å®šã‚’表示ã™ã‚‹. è¨å®šã®å¤‰æ›´ã¯, confã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ã‚‹ã“ ã¨ã«ã‚ˆã£ã¦è¡Œãªãˆã‚‹. --- conf.eval_history = N å®Ÿè¡Œçµæžœã®ãƒ’ストリ機能ã®è¨å®š. nnã¯æ•´æ•°ã‹nilã§ nn>0 ã§ã‚れã°ãã®æ•°ã ã‘ヒストリã«ãŸã‚る。nn==0ã®æ™‚㯠無制é™ã«è¨˜æ†¶ã™ã‚‹ã€nilã ã¨ãƒ’ストリ機能ã¯ã‚„ã‚ã‚‹(デフォルト). --- Conf.back_trace_limit ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹è¡¨ç¤ºã‚’ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹ã®é ã‹ã‚‰n, 後ã‚ã‹ã‚‰nã ã‘行ãªã†. デフォルトã¯16 --- conf.debug_level = N irb用ã®ãƒ‡ãƒãƒƒã‚°ãƒ¬ãƒ™ãƒ«ã®è¨å®š --- conf.ignore_eof = true/false ^DãŒå…¥åŠ›ã•ã‚ŒãŸæ™‚ã®å‹•作をè¨å®šã™ã‚‹. trueã®æ™‚ã¯^Dを無視ã™ã‚‹, false㮠時ã¯irbを終了ã™ã‚‹. --- conf.ignore_sigint= true/false ^CãŒå…¥åŠ›ã•ã‚ŒãŸæ™‚ã®å‹•作をè¨å®šã™ã‚‹. false時ã¯, irbを終了ã™ã‚‹. true㮠時ã®å‹•作ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚‹: 入力ä¸: ã“れã¾ã§å…¥åŠ›ã—ãŸã‚‚ã®ã‚’ã‚ャンセルã—ãƒˆãƒƒãƒ—ãƒ¬ãƒ™ãƒ«ã«æˆ»ã‚‹. 実行ä¸: å®Ÿè¡Œã‚’ä¸æ¢ã™ã‚‹. --- conf.inf_ruby_mode = true/false inf-ruby-mode用ã®ãƒ—ãƒãƒ³ãƒ—ト表示を行ãªã†. デフォルトã¯false. --- conf.inspect_mode = true/false/nil インスペクトモードをè¨å®šã™ã‚‹. true: インスペクトã—ã¦è¡¨ç¤ºã™ã‚‹. false: 通常ã®printã§è¡¨ç¤ºã™ã‚‹. nil: 通常モードã§ã‚れã°, inspect modeã¨ãªã‚Š, mathãƒ¢ãƒ¼ãƒ‰ã®æ™‚ã¯, non inspect modeã¨ãªã‚‹. --- conf.math_mode å‚ç…§ã®ã¿. bcモード(分数, 行列ã®è¨ˆç®—ãŒã§ãã¾ã™)ã‹ã©ã†ã‹? --- conf.use_loader = true/false load/require時ã«irbã®fileèªã¿è¾¼ã¿æ©Ÿèƒ½ã‚’用ã„るモードã®ã‚¹ã‚¤ãƒƒãƒ(デフォ ルトã¯ç”¨ã„ãªã„). ã“ã®ãƒ¢ãƒ¼ãƒ‰ã¯IRB全体ã«åæ˜ ã•れる. --- conf.prompt_c ifã®ç›´å¾Œãªã©, 行ãŒç¶™ç¶šã—ã¦ã„る時ã®ãƒ—ãƒãƒ³ãƒ—ト. --- conf.prompt_i 通常ã®ãƒ—ãƒãƒ³ãƒ—ト. --- conf.prompt_s æ–‡å—列ä¸ãªã©ã‚’表ã™ãƒ—ãƒãƒ³ãƒ—ト. --- conf.rc ~/.irbrcã‚’èªã¿è¾¼ã‚“ã ã‹ã©ã†ã‹? --- conf.use_prompt = true/false プãƒãƒ³ãƒ—ト表示ã™ã‚‹ã‹ã©ã†ã‹? デフォルトã§ã¯ãƒ—ãƒãƒ³ãƒ—トを表示ã™ã‚‹. --- conf.use_readline = true/false/nil readlineを使ã†ã‹ã©ã†ã‹? true: readlineを使ã†. false: readlineを使ã‚ãªã„. nil: (デフォルト)inf-ruby-mode以外ã§readlineライブラリを利用ã—よ ã†ã¨ã™ã‚‹. # #--- conf.verbose=T/F # irbã‹ã‚‰ã„ã‚ã„ã‚ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’出力ã™ã‚‹ã‹? --- cws, chws, irb_cws, irb_chws, irb_change_workspace [obj] objã‚’selfã¨ã™ã‚‹. objãŒçœç•¥ã•れãŸã¨ãã¯, home workspace, ã™ãªã‚ã¡ irbã‚’èµ·å‹•ã—ãŸã¨ãã®main objectã‚’selfã¨ã™ã‚‹. --- pushws, irb_pushws, irb_push_workspace [obj] UNIXシェルコマンドã®pushdã¨åŒæ§˜. --- popws, irb_popws, irb_pop_workspace UNIXシェルコマンドã®popdã¨åŒæ§˜. --- irb [obj] サブirbã‚’ç«‹ã¡ã‚ã’ã‚‹. objãŒæŒ‡å®šã•ã‚ŒãŸæ™‚ã¯, ãã®objã‚’selfã¨ã™ã‚‹. --- jobs, irb_jobs サブirbã®ãƒªã‚¹ãƒˆ --- fg n, irb_fg n 指定ã—ãŸã‚µãƒ–irbã«ã‚¹ã‚¤ãƒƒãƒã™ã‚‹. nã¯, 次ã®ã‚‚ã®ã‚’指定ã™ã‚‹. irbç•ªå· ã‚¹ãƒ¬ãƒƒãƒ‰ irbオブジェクト self(irb objã§èµ·å‹•ã—ãŸæ™‚ã®obj) --- kill n, irb_kill n サブirbã‚’killã™ã‚‹. nã¯fgã¨åŒã˜. --- souce, irb_source path UNIXシェルコマンドã®sourceã¨ä¼¼ã¦ã„ã‚‹. ç¾åœ¨ã®ç’°å¢ƒä¸Šã§path内ã®ã‚¹ã‚¯ãƒª プトを評価ã™ã‚‹. --- irb_load path, prev Rubyã®loadã®irb版. = システム変数 --- _ å‰ã®è¨ˆç®—ã®å®Ÿè¡Œçµæžœã‚’覚ãˆã¦ã„ã‚‹(ãƒãƒ¼ã‚«ãƒ«å¤‰æ•°). --- __ å®Ÿè¡Œçµæžœã®å±¥æ´ã‚’覚ãˆã¦ã„ã‚‹. __[line_no]ã§ã€ãã®è¡Œã§å®Ÿè¡Œã—ãŸçµæžœã‚’å¾—ã‚‹ã“ã¨ãŒã§ãã‚‹. line_noãŒè² 㮠時ã«ã¯ã€æœ€æ–°ã®çµæžœã‹ã‚‰-line_noå‰ã®çµæžœã‚’å¾—ã‚‹ã“ã¨ãŒã§ãã‚‹. = 使用例 以下ã®ã‚ˆã†ãªæ„Ÿã˜ã§ã™. dim% ruby irb.rb irb(main):001:0> irb # サブirbã®ç«‹ã¡ã‚ã’ irb#1(main):001:0> jobs # サブirbã®ãƒªã‚¹ãƒˆ #0->irb on main (#<Thread:0x400fb7e4> : stop) #1->irb#1 on main (#<Thread:0x40125d64> : running) nil irb#1(main):002:0> fg 0 # jobã®ã‚¹ã‚¤ãƒƒãƒ nil irb(main):002:0> class Foo;end nil irb(main):003:0> irb Foo # Fooをコンテã‚ストã—ã¦irb # ç«‹ã¡ã‚ã’ irb#2(Foo):001:0> def foo # Foo#fooã®å®šç¾© irb#2(Foo):002:1> print 1 irb#2(Foo):003:1> end nil irb#2(Foo):004:0> fg 0 # jobをスイッムnil irb(main):004:0> jobs # jobã®ãƒªã‚¹ãƒˆ #0->irb on main (#<Thread:0x400fb7e4> : running) #1->irb#1 on main (#<Thread:0x40125d64> : stop) #2->irb#2 on Foo (#<Thread:0x4011d54c> : stop) nil irb(main):005:0> Foo.instance_methods # Foo#fooãŒã¡ã‚ƒã‚“ã¨å®šç¾©ã• # れã¦ã„ã‚‹ ["foo"] irb(main):006:0> fg 2 # jobをスイッムnil irb#2(Foo):005:0> def bar # Foo#barを定義 irb#2(Foo):006:1> print "bar" irb#2(Foo):007:1> end nil irb#2(Foo):010:0> Foo.instance_methods ["bar", "foo"] irb#2(Foo):011:0> fg 0 nil irb(main):007:0> f = Foo.new #<Foo:0x4010af3c> irb(main):008:0> irb f # Fooã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã§irbã‚’ # ç«‹ã¡ã‚ã’ã‚‹. irb#3(#<Foo:0x4010af3c>):001:0> jobs #0->irb on main (#<Thread:0x400fb7e4> : stop) #1->irb#1 on main (#<Thread:0x40125d64> : stop) #2->irb#2 on Foo (#<Thread:0x4011d54c> : stop) #3->irb#3 on #<Foo:0x4010af3c> (#<Thread:0x4010a1e0> : running) nil irb#3(#<Foo:0x4010af3c>):002:0> foo # f.fooã®å®Ÿè¡Œ nil irb#3(#<Foo:0x4010af3c>):003:0> bar # f.barã®å®Ÿè¡Œ barnil irb#3(#<Foo:0x4010af3c>):004:0> kill 1, 2, 3# jobã®kill nil irb(main):009:0> jobs #0->irb on main (#<Thread:0x400fb7e4> : running) nil irb(main):010:0> exit # 終了 dim% = 使用上ã®åˆ¶é™ irbã¯, 評価ã§ãる時点(å¼ãŒé–‰ã˜ãŸæ™‚点)ã§ã®é€æ¬¡å®Ÿè¡Œã‚’行ãªã„ã¾ã™. ã—ãŸãŒã£ ã¦, rubyを直接使ã£ãŸæ™‚ã¨, 若干異ãªã‚‹å‹•作を行ãªã†å ´åˆãŒã‚りã¾ã™. ç¾åœ¨æ˜Žã‚‰ã‹ã«ãªã£ã¦ã„ã‚‹å•題点を説明ã—ã¾ã™. == ãƒãƒ¼ã‚«ãƒ«å¤‰æ•°ã®å®£è¨€ rubyã§ã¯, 以下ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã¯ã‚¨ãƒ©ãƒ¼ã«ãªã‚Šã¾ã™. eval "foo = 0" foo -- -:2: undefined local variable or method `foo' for #<Object:0x40283118> (NameError) --- NameError ã¨ã“ã‚ãŒ, irbを用ã„る㨠>> eval "foo = 0" => 0 >> foo => 0 ã¨ãªã‚Š, エラーを起ã“ã—ã¾ã›ã‚“. ã“れã¯, rubyãŒæœ€åˆã«ã‚¹ã‚¯ãƒªãƒ—ト全体をコン パイルã—ã¦ãƒãƒ¼ã‚«ãƒ«å¤‰æ•°ã‚’決定ã™ã‚‹ã‹ã‚‰ã§ã™. ãれã«å¯¾ã—, irbã¯å®Ÿè¡Œå¯èƒ½ã« ãªã‚‹(å¼ãŒé–‰ã˜ã‚‹)ã¨è‡ªå‹•çš„ã«è©•価ã—ã¦ã„ã‚‹ã‹ã‚‰ã§ã™. 上記ã®ä¾‹ã§ã¯, evel "foo = 0" を行ãªã£ãŸæ™‚点ã§è©•価を行ãªã„, ãã®æ™‚点ã§å¤‰æ•°ãŒå®šç¾©ã•れるãŸã‚, 次å¼ã§ 変数fooã¯å®šç¾©ã•れã¦ã„ã‚‹ã‹ã‚‰ã§ã™. ã“ã®ã‚ˆã†ãªrubyã¨irbã®å‹•作ã®é•ã„を解決ã—ãŸã„å ´åˆã¯, begin...endã§æ‹¬ã£ã¦ ãƒãƒƒãƒçš„ã«å®Ÿè¡Œã—ã¦ä¸‹ã•ã„: >> begin ?> eval "foo = 0" >> foo >> end NameError: undefined local variable or method `foo' for #<Object:0x4013d0f0> (irb):3 (irb_local_binding):1:in `eval' == ヒアドã‚ュメント ç¾åœ¨ã®ã¨ã“ã‚ヒアドã‚ュメントã®å®Ÿè£…ã¯ä¸å®Œå…¨ã§ã™. == シンボル シンボルã§ã‚ã‚‹ã‹ã©ã†ã‹ã®åˆ¤æ–ã‚’é–“é•ãˆã‚‹ã“ã¨ãŒã‚りã¾ã™. 具体的ã«ã¯å¼ãŒå®Œäº† ã—ã¦ã„ã‚‹ã®ã«ç¶™ç¶šè¡Œã¨è¦‹ãªã™ã“ã¨ãŒã‚りã¾ã™. =end % Begin Emacs Environment % Local Variables: % mode: text % comment-column: 0 % comment-start: "%" % comment-end: "\n" % End: %ß yôÊá½~ŒorÀ5ÖJ™={þÁEÇêe¾uç£Qk ®•ᯘG{÷?ù»ã+—]üôçƒÉÍ×ןô?wûM3X^¶ÚæŒ>{´7Ù¾ì´Kã>èo²ÎnÝ\ÿªÊj¿y· ðR£õãg/î=ÞÿfúOçÖr·o×NVÊv¿ú~ÿY+ ü¿NGêu÷ø·Ã®›þë¹HWŠûyëwÆ[eQ¶Ê¨¾SÚbÖ>öÍËÇ þ³>ä}Gçmx[o[<ÞÚ{ðýŸÏ®_ÅïqF–ÚÛvM IEND®B`‚