elisp (일반적으로 LISP인지 확실하지 않음)가 여러 줄의 docstring을 처리하는 방식이 싫습니다.
(defun foo ()
"This is
a multi
liner
docstring"
(do-stuff))
나는 내가 뭔가를 할 수 있기를 바랍니다.
(defun foo ()
(eval-when-compile
(concat
"This is\n"
"a multi\n"
"line\n"
"docstring"))
(do-stuff))
들여 쓰기가 일관되도록
불행하게도, eval-when-compile은 작업을 수행하지 않습니다.
누구든지 아이디어가 있습니까?
재미있게도, 트릭이 작동하지 않는 이유
—
Stefan
eval-when-compile
는 결과 를 인용하여 값에서 식으로 바꾸는 것입니다. 좀 더 영리하고 자체 인용이 아닌 경우에만 결과를 인용하면 효과가 있습니다.
defun
. 이 접근법의 단점은 큰 문제defun
입니다. 코드를 파싱하는 모든 소프트웨어 (elisp 컴파일러 / 인터프리터 제외)를 혼동 할 것 입니다.