2015-09-20 6 views

ответ

0

Существует встроенный способ перезагрузки уже интерпретированного файла.

Я имею в виду, вы можете переоценить сам файл, используя load('/path/to/file'), но это просто переопределит, что Ruby уже имеет в памяти, не удаляя уже определенные методы или классы. Это может вызвать несколько неожиданных побочных эффектов.

Некоторые библиотеки обходят проблему, запустив код в подпроцессе или потоке. Другие, такие как Ruby, удаляют определенные объекты и перезагружают файл. Вы можете проверить код для reload!, если вы заинтересованы в изучении одного из возможных подходов.

Однако наилучшим решением является остановка и перезагрузка всего процесса.

Смежные вопросы