- 論壇徽章:
- 0
|
irb的子會話
irb支持多個(gè)并發(fā)的會話。可以在irb中輸入irb命令啟動(dòng)一個(gè)新的子會話。當(dāng)前會話只有一個(gè),可以通過jobs命令來列出全部對話,并用fg命令來切換另外一個(gè)(休眠的)會話。
不同的子會話間保持不同的變量空間(相同名字的變量各自有自己的值)。
每個(gè)子會話會使用自己會話提示符。主會話使用irb標(biāo)示,其他的子會話依次使用irb#1、irb#2等來表示。如果在啟動(dòng)子會話時(shí)候,指定了一個(gè)對象作為參數(shù),那么該對象作為該會話的默認(rèn)對象,綁定為該會話的self對象。同時(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ù)制代碼 會話管理命令有:
irb [對象]
啟動(dòng)一個(gè)新的子會話,并以“對象”作為默認(rèn)對象而綁定(self)
jobs
顯示會話列表
cb 對象
更換一個(gè)新的對象綁定
fg 會話標(biāo)示
切換到一個(gè)子會話。會話標(biāo)示可以是會話號、線程ID、irb對象或綁定的對象等
kill 會話標(biāo)示
殺死一個(gè)子會話。會話標(biāo)示如上。
exit
退出當(dāng)前子會話
|
|