我正在尝试完成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