gpt4 book ai didi

Ruby IRB - 转储所有类

转载 作者:数据小太阳 更新时间:2023-10-29 08:49:30 27 4
gpt4 key购买 nike

我正在与 IRB(实际上是 Wirble)一起练习。我想知道是否可以将 IRB 内部的任何黑客攻击转储到文件中以供以后比较、编辑和重用?

您可以随时创建类、方法和数据,并且交互式 session 会不时包含随着代码的发展而产生的重要里程碑 - 因此这对于以源形式重用很有值(value)。

编辑:为了进一步澄清原来的问题:我想在 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”看起来很酷,但它的内省(introspection)似乎有点问题,而且它没有达到预期的效果。我做了上面的操作,如果我使用 show-method A 则不会列出 m1 方法:

[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 对 pry 动问题很有帮助,请参阅 ticket ,那里有非常有值(value)的数据。

编辑:@banister 建议使用 edit 并且遵循该工作流程是有意义的。

最佳答案

我不确定 irb,但如果你使用更强大的 pry它旨在成为 irb 的更强大的替代品,您可以这样做:

1] pry(main)> class Foo[1] pry(main)*   def bar[1] pry(main)*     1[1] pry(main)*   end[1] pry(main)* end=> nil[2] pry(main)> show-method Foo#barFrom: (pry) @ line 2:Number of lines: 3Owner: FooVisibility: publicdef bar  1end[3] pry(main)> show-method FooFrom: (pry) @ line 1:Number of lines: 5class Foo  def bar    1  endend

关于Ruby IRB - 转储所有类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16916576/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com