「The Emacs Lisp Style Guide」というものがあるのを知って、ちょっと読んでみた。
インデントは Emacs が良きに計らってくれるので気にしないで良いのだけど、if
よりも when
使えとかってのは、あー、なるほどね、と思ったりも。
;; good
(when pred
(foo)
(bar))
;; bad
(if pred
(progn
(foo)
(bar)))
他の例では、数値比較でこんな書き方ができたんだ!ってものがあった。
;; good
(< 5 x 10)
;; bad
(and (> x 5) (< x 10))
(< n1 n2)
で、他のプログラミング言語での n1 < n2
という比較になるんだけど、ここに3つ以上の数値を入れることができるとか知らなかったよ。
上の例では、変数 x
の値が 6 〜 9 であれば真( t
)となり、それ以外であれば偽( nil
)となった。
他のプログラミング言語経験者だったら「bad」と言われる例で書いちゃうよなぁ、普通は。