首页 - 网络编程 - Ruby

irb的子会话

2012-02-23 08:08:42cnblogs.com-相思雨 - 点击数:
第七城市

irb支持多个并发的会话。可以在irb中输入irb命令启动一个新的子会话。当前会话只有一个,可以通过jobs命令来列出全部对话,并用fg命令来切换另外一个(休眠的)会话。

不同的子会话间保持不同的变量空间(相同名字的变量各自有自己的值)。

每个子会话会使用自己会话提示符。主会话使用irb标示,其他的子会话依次使用irb#1、irb#2等来表示。如果在启动子会话时候,指定了一个对象作为参数,那么该对象作为该会话的默认对象,绑定为该会话的self对象。同时提示符中也有所体现。

d:/>irbirb(main):001:0> irbirb#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>

会话管理命令有:

  • irb [对象]
    启动一个新的子会话,并以“对象”作为默认对象而绑定(self)
  • jobs
    显示会话列表
  • cb 对象
    更换一个新的对象绑定
  • fg 会话标示
    切换到一个子会话。会话标示可以是会话号、线程ID、irb对象或绑定的对象等
  • kill 会话标示
    杀死一个子会话。会话标示如上。
  • exit
    退出当前子会话
(--***-曾经受过的伤,觉得一辈子也忘不了,可还是都过来了。曾经离开的人,以为一辈子也放不开,可后来还是发现,原来真的不会,离开谁就活不下去。曾经说着的梦想,你也没能实现,可是却在实现梦想的努力中,找到了喜欢的那个自己。-***-)
第七城市

本站导航