到目前为止,我已经看到了irb subsessions可以为您做的三件有用的事情:
selfirb会话irb 是一套很棒的工具的一部分取消定义局部变量
嵌套irb启动一个新的子会话,其中不再定义所有局部变量(不是类,模块等).
irb(main):001:0> a = 1
#=> 1
irb(main):002:0> irb
irb#1(main):001:0> a
NameError: undefined local variable or method `a' for main:Object from (irb#1):1
Run Code Online (Sandbox Code Playgroud)
改变selfirb会话
irb(main):001:0> self
#=> main
irb(main):002:0> irb "Hello World"
irb#1(Hello World):001:0> self
#=> "Hello World"
irb#1(Hello World):002:0> length
#=> 11
Run Code Online (Sandbox Code Playgroud)
注意:这也称为irb会话的"更改绑定".
顺便说一句:这是可能的改变,而无需打开一个子会话的绑定(cb,irb_change-binding都为你做的).但是通过subsession回到旧的绑定更方便.
最棒的是,这irb只是一组有用的命令之一
irb:开始一个新的分会jobs:列出子会话fg:切换到subsessionkill:杀了一个subsession有关详细信息,请参阅此有趣的SO答案.
| 归档时间: |
|
| 查看次数: |
290 次 |
| 最近记录: |