到目前为止,我已经看到了irb subsessions可以为您做的三件有用的事情:
self
irb会话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)
改变self
irb会话
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 次 |
最近记录: |