2

对于我是否只能在由 Java 类表示的 clojure 结构上使用 clojure 多方法,或者我可以基于多方法来调度结构或其他属性,我有点困惑?

4

3 回答 3

4

构建在第一个或唯一参数的类上分派的多方法是很常见的。在这种情况下,“类”可能是一个 Java 类、一个记录(defrecord 生成一个 Java 类),甚至是一个内部 Clojure 类型,如 ISeq。

您还可以调度传递给函数的参数的任意函数。例如,如果需要,您可以计算一个函数并在关键字上分派。

于 2011-01-01T22:20:54.883 回答
3

您可以在参数的任意函数上调度多方法(该函数作为第二个参数传入defmulti。http ://clojure.org/multimethods提供了更多详细信息。

于 2011-01-01T21:45:28.800 回答
2

你可以在你选择的任何函数上调度你的多方法。

于 2011-01-01T23:57:06.617 回答