0
Clojure에서 컴파일 할 때 서로 정보를 공유하는 매크로 집합을 만드는 가장 좋은 방법은 무엇입니까?매크로 간 상태 전달
매크로를 사용하여 이전 매크로가 수행 한 작업을 파악하고 그에 따라 작동하는 방법을 찾고 있습니다. 다음처럼 사용할 수있는 매크로 구현하는 것이 방법 :이 매크로를 컴파일시에 일어날 필요가
(macro-block-with-data ["A" "B" "C"]
(process-next-data-item) ; macro expands using "A"
(process-next-data-item) ; macro expands using "B"
(process-next-data-item)) ; macro expands using "C"
따라 정정
- 을 런타임에 정기적으로 기능하지 즉
... 결과 아마 충분히 질문을 이해하지 않습니다. 읽었을 때'process-next-data-item [ "A" "B" "C"]) 맵핑을하고 싶습니다. 그래서 그렇지 않다면, 아마도 이것을 조금 분명히 할 수있을 것입니다. –
@kwbeam - 컴파일 타임에해야하기 때문에 b) 코드에 맞지 않습니다. b) 일반적으로 코드는 각 프로세스 사이에 다른 코드가 많이있을 수 있으므로 간단한 맵 작업이 아닙니다. 데이터 항목 호출 및 c) 데이터는 단순한 시퀀스가 아닌 임의의 것 (예 : 매크로가 확장 된 카운터) 일 수 있습니다. – mikera