我正在练习 IRB(实际上是 Wirble)。我想知道是否可以将 IRB 内部的任何黑客行为转储到文件中以供以后比较、编辑和重用?
您可以随时随地创建类、方法、数据,并且随着代码的发展,交互式会话会不时包含有价值的里程碑——因此这对于以源代码形式重用是有价值的。
编辑:为了进一步澄清原始问题:我想在 IRB 中这样做:
class A; def m1; end; end
class A; def m2; end; end
然后在最后转储类 A 为
class A
def m1
end
def m2
end
end
(不一定漂亮地打印代码:-))
编辑:回复:@DGM/pry:“pry”似乎很酷,但它的内省似乎有些错误,而且它没有达到预期的效果。我做了上面的事情,如果我使用了 m1 方法,则没有列出show-method A
:
[1] pry(main)> class A; def m1; end; end
=> nil
[2] pry(main)> class A; def m2; end; end
=> nil
[3] pry(main)> show-method A#m1
[...]
class A; def m1; end; end
[4] pry(main)> show-method A#m2
[...]
class A; def m2; end; end
[5] pry(main)> show-method A
[...]
class A; def m2; end; end
编辑:我已经提交了错误报告,@banister 对撬问题非常有帮助,请参阅票证,那里有非常有价值的数据。
编辑:@banister 建议使用edit
并且遵循该工作流程是有意义的。