如何重新加载正在运行的Ruby文件(在KILL -HUP pid
上)以便识别代码更改?
答案 0 :(得分:0)
有重新加载已解释文件的内置方法。
我的意思是,你可以使用load('/path/to/file')
重新评估文件本身,但这只会覆盖Ruby已经拥有的内存而不删除已定义的方法或类。这可能会导致一些意想不到的副作用。
有些库通过在子进程或线程中运行代码来解决这个问题。其他的,如Ruby,删除已定义的对象并重新加载文件。如果您有兴趣学习一种可能的方法,可以查看Virtuoso GIT project issues的代码。
但是,最好的解决方案是停止并重新启动整个过程。