나는 그것을하는 함수에 대한 호출을 리다이렉트하는 매크로를 쓰려고한다. 게시 된 모든 함수를 최상위 clj 파일로 수집하는 방법입니다. https://martinfowler.com/bliki/PublishedInterface.htmlCopy : arglists in clojure def
doc 문자열과 arglists를 복사하려고하는데, docstring은 잘 동작하지만 argslists는 작동하지 않습니다. 내가 뭘 놓치고 있니? 내가 대신 주석 회선을 사용하는 경우
(defmacro idef
[fname]
(let [sym (symbol (str "clojure.core/" fname))
metas (meta (find-var sym))
arglists (:arglists metas)
doc (:doc metas)]
;;`(def ~(with-meta fname {:doc doc :arglists arglists}))
`(def ~(with-meta fname {:doc doc})
~sym)))
(idef inc)
, 나는이 그냥 네임 스페이스 Clojure의 코어에 하드 코드 샘플입니다
CompilerException clojure.lang.ArityException: Wrong number of args (0) passed to: PersistentVector, compiling:(interface.clj:22:1)
얻을.
이 질문은 정말 유사하지만 내가 복사 아무 문제가 없다 참조 : 문서의 일부를 특별한 약에 무엇 : arglists
Help me write a Clojure macro which automatically adds metadata to a function definition
그런 뭔가를 시도,하지만 난 역 인용 부호 안에 역 인용 부호를 가질 수 있습니다 몰랐어요. 감사! – mattias