これまでのまとめ
本日のお品書き
ついに来ましたLISP(Common LISP)…! 括弧がたっぷりということだけは知っていますが、自分で書いたことはない…!楽しみですね。
FizzBuzz
(defun fizzbuzz(i)
;; Lispではelse ifが無いので複数条件を書くときはcondが楽そう
;; princでは""は無視して表示される。改行のためにterpriを追加。
(cond ((= (mod i 15) 0) (princ "FizzBuzz")(terpri))
((= (mod i 3) 0) (princ "Fizz")(terpri))
((= (mod i 5) 0) (princ "Buzz")(terpri))
;; t = trueのこと
(t (princ i)(terpri))))
(dotimes (x 100) (fizzbuzz (+ x 1)))
おまけ:実行環境
Common LISPのHPを見るとsbcl
の利用が案内されていたのでLinux環境に導入しました。
sudo apt-get sbcl
# edit fizzbuzz.lisp
sbcl --script fizzbuzz.lisp