5
どのようにして複合キーをクロージャーに実装できますか?マップがある場合 例えば、姓と名字は属性のリストを指します。キーとして両方のフィールドを含むマップを作成できますか?どのようにして複合キーをクロージャーに実装できますか?
また、javaではマップの非常に高度なキーを作るために "equals"をオーバーライドすることができます...洗練されたキーはどのように実装されていますか?
どのようにして複合キーをクロージャーに実装できますか?マップがある場合 例えば、姓と名字は属性のリストを指します。キーとして両方のフィールドを含むマップを作成できますか?どのようにして複合キーをクロージャーに実装できますか?
また、javaではマップの非常に高度なキーを作るために "equals"をオーバーライドすることができます...洗練されたキーはどのように実装されていますか?
equalsをキーとして正しく実装するオブジェクトを使用できます。 clojureには、すべてのコレクションタイプが含まれているので、標準のクロージャコレクションをキーとして使用できます。 2要素ベクトルをキーとして使用する例:
(def foo {[1 2] :bar [3 4] :baz})
=> #'user/foo
(foo [1 2])
=> :bar