如何以每次保存.rb文件的方式设计ruby应用程序,它会自动开始以“新方式”运行?
我的意思是,我正在编写一个REPL(Read-Eval-Print-Loop)应用程序,我希望它能像每次更改源文件时一样重新加载。
更改和保存脚本文件时Rails或Unity(游戏引擎)的方式。
我已经完成了使用Kernel.load的试验,但它抱怨重新定义的常量并产生重复的线程。
有没有人这样做过?我怎样才能实现这个目标?
答案 0 :(得分:1)
Kernel.load应该适用于此。您可以通过确定它们是否已经定义来避免重新定义常量
CONST = 2 unless defined?(CONST)
如果您需要重新定义常量,那么您可以使用全局变量,例如$const
这两个选项在重新加载文件时也会避免警告。你可能应该通过定义自己的重载方法来检查它们是否已经发生了变化。