В чем разница между; и; в комментариях кода Clojure?
в чем разница между ; и ;; при запуске комментария в Clojure? Я вижу, что мой текстовый редактор цвета их по-разному,поэтому я предполагаю, что нет никакой разницы.
Я тоже это вижу заметки на полях относится к ним по-разному:
; Stripped entirely
;; Appears in text section of marginalia
(defn foobar []
; Appears in code section of marginalia output
;; Again, appears in code section of marginalia output
6)
7 ответов:
нет никакой разницы, что касается интерпретатора. Подумайте о;;;;;; и;;;; как о разных уровнях заголовка.
вот мое соглашение о личном использовании:
;;;; комментарии верхнего уровня файла, такие как описание всего файла/модуля/пространства имен
;;; документация для основных разделов кода (т. е. групп функций) в файле.
;; документация для отдельных функций, которая выходит за пределы строки документа (например объяснение алгоритма внутри функции)
; встроенные комментарии, возможно, на одной строке, и, возможно, хвост строки кода
Проверьте официальное описание смысла
;vs;;в elisp: поскольку индентор Clojure в основном один и тот же, он будет относиться к ним аналогично. В принципе, используйте;Если вы пишете длинное предложение / описание "на полях", которое будет охватывать несколько строк, но должно рассматриваться как одна сущность. Их пример:(setq base-version-list ; there was a base (assoc (substring fn 0 start-vn) ; version to which file-version-assoc-list)) ; this looks like ; a subversionиндентор будет убедиться, что те остаются выстроились рядом друг с другом. Если вместо этого вы хотите сделать несколько несвязанных однострочных комментариев рядом друг с другом, используйте
;;.(let [x 99 ;; as per ticket #425 y "test"] ;; remember to test this (str x y)) ;; TODO actually write this function
Emacs; будет использоваться для комментариев в конце строки и будет отступать удивительным образом, если это не ваше намерение. ; не так я обычно использую ;;.
Clojure не волнует-любая строка игнорируется от ; до EOL.
Я считаю, что в CL есть традиция использовать все большее количество; чтобы указать более важные комментарии / разделы.
нет смысла на язык.
;это макрос чтения дляcommentвозможно, другие инструменты разбирают их, но "внутри clojure" они одинаковы.
нет никакой разницы с точки зрения Clojure. Я нахожу, что
;;выделяется немного лучше, чем;, но это только мое мнение.Marginalia, с другой стороны, относится к ним по-разному, потому что есть моменты, когда комментарий должен оставаться в разделе кода (например, лицензия), и они помечены
;. Это произвольное решение и может измениться в будущем.
в режимах Emacs lisp, включая clojure-mode,
;;форматируется с условным обозначением быть в начале строки и отступом, как и любая другая строка, на основе контекста. будет использоваться в конце строки, поэтому emacs не будет делать то, что вы хотите, если вы поместите комментарий с одной точкой с запятой в начале строки, ожидая, что он будет вставлен в отступ для текущего контекста.пример:
(let [foo 1] ;; a comment foo) ; a comment
Я не уверен (не использовать Clojure и никогда не слышал об этом раньше), но этой темеможет помочь.
Comments