我正在嘗試完成IO天第二天練習七天中的七種語言。在它的問道:「你會怎樣改變/返回0,如果分母爲零?」我已經決定,我可以使用添加一個方法來編號:如何替換現有的操作符而不用在Io中調用它們?
Number new_div := method(i, if(i != 0, self/i, 0))
什麼我不知道是怎麼替換操作符表中的「/」。我試過了:
Number/:= Number new_div
Number/:= self new_div
但是我得到一個異常,因爲它試圖調用「/」。如何獲得Number /的句柄,以便我可以存儲對舊方法的引用,然後爲我自己的目的重新定義它?我是否全部錯了?
我想解決同樣的問題。我做「Number /:= method(...)」。而且我被卡住了與jer指出的同樣的無限循環。我找不到保留/的原始實現並調用它的方法。 – 2010-11-24 02:25:16
@Eric Hogue:我沒有發佈我的答案,因爲*傑爾*只是打敗了我!我已經發布了它,因爲它確實展示瞭如何保留原始分割並避免遞歸循環。 – draegtun 2010-11-24 12:14:20