저는 compojure와 비슷한 미들웨어를 작성하는 매크로를 작성하려고합니다.함수에서 고차 함수를 생성하는 Clojure 매크로
내가 전화를 할 수 있도록하려면 :
(def-middleware plus-two [x]
(+ 2 x))
과 같은 결과가 찾아 보게한다 :이있어
(defn plus-two [f]
(fn [x]
(f (+ 2 x)))
까지 온라인 가이드를 읽고 있지만 밖으로 작동하지 않습니다 나를 위해 :
(defmacro def-middleware [fn-name args & body]
'(defn ~fn-name [f]
(fn ~args
(f [email protected]))))
어떤 도움이나 더 나은 매크로 작성 가이드에 대한 포인터가 좋을 것입니다.
어떻게 당신을 위해 밖으로 작동하지 않습니다? –
CompilerException java.lang.RuntimeException : def에 대한 첫 번째 인수는 Symbol이어야하며 다음과 같이 컴파일해야합니다. (NO_SOURCE_PATH : 33) – jdoig
작은 따옴표가 아닌 역 따옴표를 사용합니다. – Alex