如何将IRB输入保存到.rb文件?

时间:2010-11-19 21:34:09

标签: ruby watir irb

可能听起来像是一个新手问题(因为我是Ruby和IRB的新手)但是有没有办法将您在IRB中执行的命令保存到文件中?我正在玩WATIR,并希望将所有输​​入保存到文件中,而不是复制和粘贴每个。

感谢您的帮助!

4 个答案:

答案 0 :(得分:29)

在我的机器上,我可以将它放在我的.irbrc文件中(位于您的主目录中):

Kernel.at_exit {
  File.open("irb.log", "w") do |f|
    f << Readline::HISTORY.to_a.join("\n")
  end
}

它会创建一个包含您的readline历史记录的文件irb.log。 Irb使用readline进行命令输入。它可能被配置为不对某些人使用readline,我不知道。也许历史会在某些时候被截断,或者它可能会被您在irb会话中执行的某些命令所修改......但是尝试一下,看看它是否有效。

如果你想要irb提示符和每个命令的结果都包含在日志中,那么只需使用tee来记录irb的输出:

$ irb | tee irb.log

答案 1 :(得分:2)

答案 2 :(得分:0)

看看watir-console

答案 3 :(得分:0)

我在寻找同样的事情时发现了这个问题。我最终从IRB转到了Pry;它是Ruby的一个单独的REPL项目,它具有IRB不支持的许多高级功能。

值得一看。

Pry