免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1954 | 回复: 1
打印 上一主题 下一主题

irb的子会话 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-24 20:33 |只看该作者 |倒序浏览
irb的子会话









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

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

每个子会话会使用自己会话提示符。主会话使用irb标示,其他的子会话依次使用irb#1、irb#2等来表示。如果在启动子会话时候,指定了一个对象作为参数,那么该对象作为该会话的默认对象,绑定为该会话的self对象。同时提示符中也有所体现。
  1. d:\>irb
  2. irb(main):001:0> irb
  3. irb#1(main):001:0> irb "another"
  4. irb#2(another):001:0> jobs
  5. => #0->irb on main (#<Thread:0x34cc748>: stop)
  6. #1->irb#1 on main (#<Thread:0x3a49e8c>: stop)
  7. #2->irb#2 on another (#<Thread:0x3a43a78>: running)
  8. irb#2(another):002:0> fg 1
  9. => #<IRB::Irb: @signal_status=:IN_EVAL, @scanner=#<RubyLex:0x3a49e00>, @context=#<IRB::Context:0x3a49e14>>
  10. irb#1(main):002:0> jobs
  11. => #0->irb on main (#<Thread:0x34cc748>: stop)
  12. #1->irb#1 on main (#<Thread:0x3a49e8c>: running)
  13. #2->irb#2 on another (#<Thread:0x3a43a78>: stop)
  14. irb#1(main):003:0> exit
  15. => #<IRB::Irb: @signal_status=:IN_EVAL, @scanner=#<RubyLex:0x3a581bc>, @context=#<IRB::Context:0x3a58518>>
  16. irb(main):002:0> jobs
  17. => #0->irb on main (#<Thread:0x34cc748>: running)
  18. #2->irb#2 on another (#<Thread:0x3a43a78>: stop)
  19. irb(main):003:0>
复制代码
会话管理命令有:

irb [对象]
启动一个新的子会话,并以“对象”作为默认对象而绑定(self)
jobs
显示会话列表
cb 对象
更换一个新的对象绑定
fg 会话标示
切换到一个子会话。会话标示可以是会话号、线程ID、irb对象或绑定的对象等
kill 会话标示
杀死一个子会话。会话标示如上。
exit
退出当前子会话

论坛徽章:
0
2 [报告]
发表于 2012-02-24 20:33 |只看该作者
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP