네 좋은 것/도움이 매크로가 할 정확히입니다. 당신은 이맥스에 *scratch*
버퍼에이 매크로를 복사하여 평가 한 다음 이렇게 작동하는지 확인할 수 있습니다
(defmacro make-my-function (name)
(list 'defun (intern (format "my-%s-function" name))()
(list 'interactive)
(list (intern (format "mark-%s" name)))
(list 'do-more-stuff)
(list (intern (format "modify-%s" name)))))
:
(make-my-function x) ; type control-J here
my-x-function ; <-- Emacs's output
(symbol-function 'my-x-function) ; type control-J here
(lambda nil (interactive) (mark-x) (do-more-stuff) (modify-x)) ; <-- Emacs's output
여기에 사용자가 지정한 패턴에 따라 기능을 기반으로 간단한 매크로입니다
보다 일반적으로 매크로를 작성하는 데 backquote 기능을 사용하지만 모든 매크로는 위의 예와 동일한 방식으로 작동합니다.
+1 역 인용 시설. 매크로의 가독성이 향상됩니다. –