Если вы измените файл, а затем повторно загрузите его в pry или irb, он, кажется, подхватит любую НОВУЮ функциональность, которую вы добавили в этот класс, но не забудете о СТАРОЙ функциональности, которую вы удалили из этого класса.
Действия по воспроизведению:
- Создайте класс с одним методом - например.
say_hello
. - Откройте PRY или IRB и
load 'my_class.rb'
- Отредактируйте свой класс - удалите существующий метод и добавьте новый с другим именем - например.
say_goodbye
- перезагрузить класс -
load 'my_class.rb'
ОБА ваши методы теперь будут доступны. Я понимаю, почему это происходит - потому что ruby позволяет вам повторно открывать классы для модификации, повторная загрузка вашего файла в основном просто повторно открывает существующую версию класса, который вы уже загрузили, вместо того, чтобы стирать память этого класса и определять класс снова с нуля.
Мой вопрос в том, как вы работаете с этим, кроме выхода и перезапуска PRY или IRB? Как просто сказать «полностью забыть мой предыдущий урок и перезагрузить этот файл с нуля»?
Спасибо!