Ако промените файл и след това го заредите отново в pry или irb, той изглежда ще вземе всяка НОВА функционалност, която сте добавили към този клас, но не забравя СТАРАта функционалност, която сте изтрили от този клас.
Стъпки за възпроизвеждане:
- Създайте клас с един метод - напр.
say_hello
. - Отворете PRY или IRB и
load 'my_class.rb'
- Редактирайте своя клас - изтрийте съществуващия метод и добавете нов с различно име - напр.
say_goodbye
- презареди класа си -
load 'my_class.rb'
И ДВАТА ви метода вече ще бъдат налични. Разбирам защо това се случва - тъй като ruby ви позволява да отваряте отново класове за модификация, повторното зареждане на вашия файл просто отваря отново съществуващата версия на класа, който вече сте заредили, вместо да изтриете паметта на този клас и да дефинирате класа отново от нулата.
Въпросът ми е как се справяте с това, освен да се откажете и да стартирате отново PRY или IRB? Как просто казвате „забравете напълно предишния ми клас и заредете отново този файл от нулата“?
Благодаря!