작업을 위해 표준 약식 형식 (약물 부작용을보고하는 데 사용되는 형식)을 가장 간결한 방식으로 설명하고 싶습니다. (대략, 딸꾹질을 통해 나중에 그것을 렌더링하는하지만 딸꾹질 구조로 직접 작성하지 않는 이유뿐만 아니라, 그건) 예를 들어또 다른 컬렉션 내부에 스플 라이스
을, 설명의 일부는 다음과 같습니다
{"reportertitle" [:one-of "Dr" "Pr" "Mrs" "Mr"] ; the reporter is usually the physician
"reportergivenname" :text
"reporterfamilyname" :text
"reporterorganization" :text
"reporterdepartment" :text
....
"literaturereference" :text
"studyname" :text
....}
키 표준 이름이지만 변경할 수는 없지만 물건을 쉽게 인수 분해 할 수 있기를 바랍니다. 예를 들어 접두사 "리포터"가지도 전체에서 많이 사용되는 경우이를 분해 할 수 있습니다. 예를 들어 :
{ (prefix "reporter"
"title" [:one-of "Dr" "Pr" "Mrs" "Mr"]
"givenname" :text
"familyname" :text
"organization" :text
"department" :text)
.....
"literaturereference" :text
"studyname" :text
....}
하지만이 기능은 작동하지 않습니다. annot "integrate"(스플 라이스, 나는 올바른 용어라고 믿는다)는 '접두어'의 결과이다. 바깥 쪽 맵 내부의 함수 나 매크로 일 것이다.
높은 수준의 선언성/간결성을 유지하면서이를 달성 할 수있는 해결책이 있습니까?
덕분에), (나는 거의 모든 디자인 제안을 환영합니다, Clojure의에 새로 온 사람으로)
(전체 형태는 거대하고 비 개발자가 읽을 수 있습니다)!
그래, 내 매크로를 좀 더 업스트림으로 불러야 할 것 같네. 컴파일시 clojure.zip 함수를 사용하여 '접두어'형식을 찾고 변경할 수 있습니까? 아니면 더 편리한 방법이 있습니까? 이제 여러분이 그것에 대해 이야기 했으므로, 매크로 arg 내부에 중첩 된 용어를 대체하는 것이 꽤 일반적 일 것입니다 (저는 Scheme에서 그런 것을 보았습니다). –
나는'(접두사 "기자"bla-bla-bla) "를'["기자 "bla-bla-bla]로 바꿀 것을 제안 할 것이다. 이렇게하면 매크로를 작성할 필요가 없습니다 (대신 일반 함수를 작성할 수 있습니다). –
@NikitaBeloglazov : 비 매크로 버전에 대한 제안에 따라 편집했습니다. –