如何重新加载正在运行的Ruby文件?

时间:2015-09-20 20:01:04

标签: ruby

如何重新加载正在运行的Ruby文件(在KILL -HUP pid上)以便识别代码更改?

1 个答案:

答案 0 :(得分:0)

有重新加载已解释文件的内置方法。

我的意思是,你可以使用load('/path/to/file')重新评估文件本身,但这只会覆盖Ruby已经拥有的内存而不删除已定义的方法或类。这可能会导致一些意想不到的副作用。

有些库通过在子进程或线程中运行代码来解决这个问题。其他的,如Ruby,删除已定义的对象并重新加载文件。如果您有兴趣学习一种可能的方法,可以查看Virtuoso GIT project issues的代码。

但是,最好的解决方案是停止并重新启动整个过程。