从 pry 编辑文件但只影响内存版本

Edit a file from pry but affect only the in memory version

pry edit Class#method 命令是一个很好的功能,它允许您直接跳转到任何加载文件的源代码,编辑它,然后在退出时跳回 pry 并加载更改。

但有时我不想永久编辑文件系统上的实际文件。相反,我希望一切都按照编辑命令当前的方式工作,但我希望实际的文件系统文件恢复到我编辑它之前的状态, 编辑后的版本被加载入撬。

例如,我可能想修补一些 gem 看看它是如何工作的,或者尝试一下,但在我玩完之后保持一切完好无损。有没有什么好的方法来撬动这个?

-p 开关与 edit 一起使用。这不会更改文件,只会更改文件的 in-memory 版本。

类似于:

pry(main)> edit -p Class#method

doc 中的更多信息。