一文の要約:()はclojure実行関数であり、evalまたはapplyではありません。テストコードは次のとおりです。
(defn enforce-api-key []
(fn [x]
(println x)
(if (= "key" x)
(println "===")
(println "xxx")
)
)
)
((enforce-api-key ) "k")
((enforce-api-key ) "key")
または
(defn enforce-api-key [x]
(fn []
(println x)
(if (= "key" x)
(println "===")
(println "xxx")
)
)
)
(enforce-api-key "k")
((enforce-api-key "k"))
((enforce-api-key "key"))