- 論壇徽章:
- 0
|
irb的子會(huì)話
irb支持多個(gè)并發(fā)的會(huì)話?梢栽趇rb中輸入irb命令啟動(dòng)一個(gè)新的子會(huì)話。當(dāng)前會(huì)話只有一個(gè),可以通過(guò)jobs命令來(lái)列出全部對(duì)話,并用fg命令來(lái)切換另外一個(gè)(休眠的)會(huì)話。
不同的子會(huì)話間保持不同的變量空間(相同名字的變量各自有自己的值)。
每個(gè)子會(huì)話會(huì)使用自己會(huì)話提示符。主會(huì)話使用irb標(biāo)示,其他的子會(huì)話依次使用irb#1、irb#2等來(lái)表示。如果在啟動(dòng)子會(huì)話時(shí)候,指定了一個(gè)對(duì)象作為參數(shù),那么該對(duì)象作為該會(huì)話的默認(rèn)對(duì)象,綁定為該會(huì)話的self對(duì)象。同時(shí)提示符中也有所體現(xiàn)。- d:\>irb
- irb(main):001:0> irb
- irb#1(main):001:0> irb "another"
- irb#2(another):001:0> jobs
- => #0->irb on main (#<Thread:0x34cc748>: stop)
- #1->irb#1 on main (#<Thread:0x3a49e8c>: stop)
- #2->irb#2 on another (#<Thread:0x3a43a78>: running)
- irb#2(another):002:0> fg 1
- => #<IRB::Irb: @signal_status=:IN_EVAL, @scanner=#<RubyLex:0x3a49e00>, @context=#<IRB::Context:0x3a49e14>>
- irb#1(main):002:0> jobs
- => #0->irb on main (#<Thread:0x34cc748>: stop)
- #1->irb#1 on main (#<Thread:0x3a49e8c>: running)
- #2->irb#2 on another (#<Thread:0x3a43a78>: stop)
- irb#1(main):003:0> exit
- => #<IRB::Irb: @signal_status=:IN_EVAL, @scanner=#<RubyLex:0x3a581bc>, @context=#<IRB::Context:0x3a58518>>
- irb(main):002:0> jobs
- => #0->irb on main (#<Thread:0x34cc748>: running)
- #2->irb#2 on another (#<Thread:0x3a43a78>: stop)
- irb(main):003:0>
復(fù)制代碼 會(huì)話管理命令有:
irb [對(duì)象]
啟動(dòng)一個(gè)新的子會(huì)話,并以“對(duì)象”作為默認(rèn)對(duì)象而綁定(self)
jobs
顯示會(huì)話列表
cb 對(duì)象
更換一個(gè)新的對(duì)象綁定
fg 會(huì)話標(biāo)示
切換到一個(gè)子會(huì)話。會(huì)話標(biāo)示可以是會(huì)話號(hào)、線程ID、irb對(duì)象或綁定的對(duì)象等
kill 會(huì)話標(biāo)示
殺死一個(gè)子會(huì)話。會(huì)話標(biāo)示如上。
exit
退出當(dāng)前子會(huì)話
|
|