Я пытаюсь завершить второе упражнение в день 2-го дня в книге "Семь языков за семь дней". В нем вы спросили: "Как бы вы изменили /, чтобы вернуть 0, если знаменатель равен нулю?" Я решил, что я могу добавить метод в число, используя:
Number new_div := method(i, if(i != 0, self / i, 0))
Что я не уверен, как заменить "/" в таблице операторов. Ive попытался:
Number / := Number new_div
Number / := self new_div
Но я получаю исключение для обоих, поскольку он пытается вызвать "/". Как получить дескриптор на Number/, чтобы я мог хранить ссылку на старый метод, а затем переопределить его для моих собственных целей? Неужели я все это делаю неправильно?