Jaki jest preferowany sposób komentowania sekstów w kodzie elips? Do tej pory owijałem moje seksowniki w (if nil ...)
.Jak mogę skomentować sekstepy w eliznym kodzie?
Odpowiedz
[email protected] M-;
komentarze aktualny sexp.
[email protected]
pobyty za mark-sexp
i M-;
wie, jak poprawnie zakomentować region, uwzględniając bieżący tryb. Polecenia do oznaczania obiektów są opisane here.
średników - ;;;
;;; insert into buffer
(defun thingy (foo)
(interactive "stallman: ") ; prompt the user
; one semi-colon is also enough
;;;(insert (concat "deprecated")) ;;; this line will not execute
(insert (concat "gnu-" foo)))
Dzięki, ale średniki będą komentować całe linie. Szukałem sposobu na skomentowanie poszczególnych sexów. – sigjuice
Wątpię, czy można skomentować seksu bez używania mechanizmu komentarzy w języku. '(if nil sexp)' zwraca wartość zero, podczas gdy komentarz jest ignorowany i nie ma wartości. W związku z tym byłbym trochę nieufny w użyciu określenia "komentarz", aby to opisać, ponieważ nie jest to tym, czym jest. – phils
Tak, naprawiałem przy "komentarzu" .... które są stosowane od średnika (ów) do EOL –
Twój konstrukt (if nil sexp)
będzie działał dobrze. Nie wiem, czy istnieje standardowy odpowiednik w Emacs Lisp, choć podejrzewam, że nie. Jeśli chcesz bardziej dokładnie opisać, co robisz, możesz użyć czegoś takiego, jak comment macro in clojure. Które jest łatwo zaimplementowane jako makro Emacs Lisp.
(defmacro comment (&rest body)
"Comment out one or more s-expressions."
nil)
Następnie można po prostu napisać:
(comment
...
; As many sexps as you want here...
...)
EDIT:
Dodane nil
do końca definicji z comment
makro. Jak wskazał Marko Topolnik, jeśli nie dostarczysz ciała implementacyjnego, defmacro
zakłada, że docstring jest w rzeczywistości ciałem. Jawnie umieszczenie nil
na końcu działa wokół tego. Dzięki za połów Marko!
Makro jest miłe, ponieważ możesz mieć wiele sekstów, podczas gdy jeśli działa tylko dla jednego seksu. Oczywistą alternatywą byłoby (gdy zero ...) –
Zastrzeżenie: makro działa tylko dla formularzy najwyższego poziomu. Rozszerza się do tego, co autor najwyraźniej zamierzał napisać. –
'[email protected]' może być również związane z 'C-M-SPC', które może być łatwiejsze do wpisania i zapamiętania. – kristianlm