CLOVER🍀

That was when it all began.

Gaucheのコメント

これまでLispでコメントといえば「;」しか知らなかったのですが、3種類あるらしいです。知らなかったものほど便利なので、ちょっと書いておこうと思います。

コメントの種類

行コメント
; これはコメントです

Lispでコメントといえば、個人的にはこれのイメージが強いです。「;」から行末までが読み飛ばされます。

ブロックコメント
#|
(define (dead-code)
  (print "comment outed"))
|#

「#|」から「|#」をまとめてコメントアウトできます。ネストも可能。

S式コメント
#;(define (comment-outed-s)
  (print "Ignored"))

「#;」のひとつ後ろのS式を読み捨てます。意外と便利かも。

行コメントの使い分け

「;」(セミコロン)で始まるコメントは、2つ以上連続して並べることで、コメントのレベルを使い分けする習慣があるそうな。一応、頭の片隅に置いておこうかな…。

セミコロン1つ

コードと同じ行に置いて、その行の処理を説明します。
こんな感じ?

(define (hello-world)
  (print "Hello World"))                ; 「Hello World」を表示します

Emacsでは「M-;」でキレイに入力できます。

セミコロン2つ

コードのインデントと同じカラムに置いて、そのカラム位置のコードを説明します。トップレベルにコメントを書いて、手続き全体を説明する場合にも使われます。

;; 引数を2つ受け取って、加算して返却します
(define (add x y)
  ;; 加算処理
  (+ x y))

くだらん例ですいません…。

セミコロン3つ

ファイル冒頭のヘッダや、大きなコードのブロックの説明に使用されるそうな。

まあ、こういう習慣は最初に覚えていた方がいいですよね。