0
에서 생성 된 기호 boundp 사용 :나는 다음과 같은 코드를 작성하려고 매크로
(unless (boundp 'foo-1)
(setq foo-1 bar-1))
(find-file foo-1)
그러나, 기호 foo는-1과 바-1은 매크로를 통해 생성해야합니다. 나는 다음과 같은 것을 시도했지만, boundp
은 내가 원하는 방식으로 작동하지 않는다. 나는 매크로에 익숙하지 않다. 나는 분명히 잘못된 것을하고 있습니까? 또한, 나는 내가 여기에 매크로를 학대? ... 당신은 그래서 그 무엇 분명하지 않다 assign-bar-to-foo
에 대한 코드를 제공하지 않았더라도
(defmacro foo-setq-bar (X)
`(setq ,(intern (concat "foo-" (number-to-string X))) (assign-bar-to-foo ,X)))
(defmacro foo-find-file (X)
`(progn
(unless (boundp (quote ,(intern (concat "foo-" (number-to-string X)))))
(foo-setq-bar ,X))
(find-file ,(intern (concat "foo-" (number-to-string X))))))
분명히 잘못된 것은 없지만 코드가 필요 이상으로 복잡 할 가능성이 있습니다. 전체 코드 ('assign-bar-to-foo'의 정의가 빠짐)와 잘못된 것 (''''(어떤 표현식)''을 갖기를 바랍니다.) 대신에 (어떤 효과가 있지만) 어떤 다른 효과) "). 높은 수준의 문제를 설명하면 누군가가 더 나은 해결책을 제안 할 수 있습니다. – Gilles