2014-01-17 33 views
0

如何设计一个红宝石应用程序,每次我保存一个.rb文件时,它会自动开始以“新方式”行事?我的意思是,我正在编写一个REPL(Read-Eval-Print-Loop)应用程序,并且我希望它的工作方式好像每次更改它们时总是重新加载源文件。即时反映源文件变化的Ruby应用程序

当您更改并保存脚本文件时,Rails或Unity(游戏引擎)会采用这种方式。

我已经完成了Kernel.load的试用,但它抱怨重新定义的常量并产生重复的线程。

有没有人做过类似的事情?我怎样才能达到这个目标?

+0

你说你尝试过'Kernel.load',但是我看不到任何代码。我们需要查看您尝试过的内容,以便为您的代码量身定制答案。如果我们生成一些东西,它可能会与你所采取的路径大不相同。 –

+0

我对为我的应用程序量身定制的代码并不感兴趣,但是对于这种方法的通用指南。 – Vargas

+0

这不是Stack Overflow的用处。 SO是针对特定问题的特定答案。 –

回答

1

Kernel.load应该为此工作。您可以避免通过确定重新定义常量,如果他们已经定义

CONST = 2 unless defined?(CONST) 

如果您需要重新定义常量再重装时,你可以使用全局变量如$const

这两个选项将避免警告的同时, files_you应该检查一下,看看他们是否已经改变,可能是通过定义你自己的重载方法。

相关问题