我在文件a.rb中有以下内容:
require foo
我需要卸载foo,从b.rb,c.rb和其他文件加载foo。
我该怎么做?
答案 0 :(得分:19)
Object.send(:remove_const, :Foo)
假设您的班级名为Foo
。
答案 1 :(得分:2)
我不确定卸载部分,但使用load
代替require
将始终重新加载文件。但是,当您使用加载时,您需要包含.rb,因此在您的情况下,它将是load 'foo.rb'
。
请参阅http://www.fromjavatoruby.com/2008/10/require-vs-load.html