如果我明确定义一个函数,就像这样:
然而,如果我使用匿名函数,只有
(defn f [x] (get x "a"))
,
那么(-> {"a" 1} f)
和(f {"a" 1})
都能按预期工作。然而,如果我使用匿名函数,只有
(#(get % "a") {"a" 1})
能正常工作,但(-> {"a" 1} #(get % "a"))
会抛出异常:CompilerException java.lang.ClassCastException: clojure.lang.PersistentArrayMap cannot be cast to clojure.lang.ISeq, compiling:(NO_SOURCE_PATH:1:1)
。