你如何在Clojure中实现复合键?

6

如何在Clojure中实现复合键? 如果我有一个映射,其中名字和姓氏指向属性列表....我能否创建一个包含这两个字段作为键的映射?

同时...在Java中,您可以重写“equals”以创建映射的非常高级的键...在Clojure中,如何实现复杂的键?

1个回答

12

你可以使用任何正确实现equals方法的对象作为键。对于Clojure来说,这包括所有集合类型,因此你可以直接使用标准Clojure集合作为键。以下是使用两个元素向量作为键的示例:

(def foo {[1 2] :bar [3 4] :baz})
=> #'user/foo
(foo [1 2])
=> :bar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接