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

Enr*_*que 12 ruby irb watir

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

谢谢您的帮助!

Jer*_*ten 29

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

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

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

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

$ irb | tee irb.log
Run Code Online (Sandbox Code Playgroud)