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