76

Clojureでコメントを開始するとき;と開始するときの違いは何ですか?;;私のテキストエディタはそれらの色が異なっているので、概念的には多少の違いがあると思います。

また、 Marginaliaはそれらを異なる方法で処理していることもわかります。

; 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)
4

7 に答える 7

86

通訳者に関する限り、違いはありません。; ;; ;;;;;;;を異なる見出しレベルと考えてください。

これが私の個人的な使用規則です。

;;;; Top-of-file level comments, such as a description of the whole file/module/namespace

;;; Documentation for major code sections (i.e. groups of functions) within the file.

;; Documentation for single functions that extends beyond the doc string (e.g. an explanation of the algorithm within the function)

; In-line comments possibly on a single line, and possibly tailing a line of code
于 2011-02-22T22:50:19.350 に答える
33

elisp でのvsの意味に関する公式の説明を確認してください。Clojure のインデンターは基本的に同じなので、同様に扱われます。基本的に、複数行にまたがる長い文/説明を「余白に」書く場合に使用しますが、1 つのエンティティと見なす必要があります。その例は次のとおりです。;;;;

(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
于 2012-01-11T19:01:48.763 に答える
15

Emacs; 行末のコメントに使用され、意図しない場合は驚くべき方法でインデントされます。;; そうではないので、私は通常;;を使用します。

Clojure は気にしません - ; からの行は無視されます。EOLに。

CL には、ますます多くの ; を使用する伝統があると思います。より重要なコメント/セクションを示します。

于 2011-02-22T22:44:39.143 に答える
7

言語に意味はありません。;おそらく他のツールがそれらを解析するためのリーダーマクロですcomment が、「clojure内」では同じです。

于 2011-02-22T22:05:20.350 に答える
6

Clojure パースペクティブとの違いはありません。;;よりも少し目立ちます;が、それは私の意見です。

一方、Marginalia では、コード セクションにコメントを残す必要がある場合 (ライセンスなど) に;. これは任意の決定であり、将来変更される可能性があります。

于 2011-02-23T01:11:37.403 に答える
6

clojure-mode を含む emacs の lisp モードで;;は、行の先頭にあるという規則でフォーマットされ、コンテキストに基づいて他の行と同じようにインデントされます。;は行末で使用されることが想定されているため、現在のコンテキストのインデントにタブで移動することを期待して、行頭に単一のセミコロンのコメントを入れると、emacs は意図したとおりに動作しません。

例:

(let [foo 1]
  ;; a comment
  foo) ; a comment
于 2011-02-28T05:45:25.700 に答える
1

よくわかりませんが (Clojure を使用したことがなく、これまで聞いたこともありません)、このスレッドが役立つ かもしれません

于 2011-02-22T21:50:48.997 に答える