Clojure では、マップとキーの両方をルックアップ関数として使用できるため、
({:a 1 :b 2} :a)
どちら(:a {:a 1 :b 2})
も実行可能なルックアップ関数です。
それでは、複合キーのルックアップ関数としてマップを使用できるのに、その逆はできないのはなぜでしょうか?
これは({[:compound :mebaby] 1} [:compound :mebaby]})
を返すことを意味します1
が([:compound :mebaby] {[:compound :mebaby] 1})
、エラーをスローします。