【发布时间】:2010-06-17 16:05:03
【问题描述】:
我在一个命名空间中有以下内容,比如shapes:
(derive ::rect ::shape)
(derive ::square ::rect)
现在在shapes 命名空间中执行以下命令:
(isa? ::square ::shape)
返回true。但是当我在一个命名空间中执行以下操作时,我实际上实现了多种绘图方法,
(isa? ::square ::shape)
它返回false。因此,即使我有正确的多方法调度函数,我也会收到一条错误消息,提示“找不到调度函数”。
我错过了什么吗?在一个巨大的命名空间中实现所有类型的形状对我来说似乎毫无意义。
【问题讨论】:
标签: clojure multimethod