Ответ 1
Object.send(:remove_const, :Foo)
предполагая, что ваш класс имеет имя Foo
.
В файле a.rb есть следующее:
require foo
и мне нужно разгрузить foo, загрузить foo из b.rb, c.rb и других файлов.
Как я могу это сделать?
Object.send(:remove_const, :Foo)
предполагая, что ваш класс имеет имя Foo
.
Я не уверен в части разгрузки, но использование load
вместо require
всегда будет перезагружать файл. Однако, когда вы используете нагрузку, вам нужно будет включить .rb, поэтому в вашем случае это будет load 'foo.rb'
.
См. http://www.fromjavatoruby.com/2008/10/require-vs-load.html