クロージャを使って FizzBuzz
FizzBuzz 関数
(defun FizzBuzz (i) (lambda () (setq s (concat (elt '("Fizz") (mod i 3)) (elt '("Buzz") (mod i 5)))) (prog1 (if (string= s "") i s) (setq i (1+ i)))))
利用コード
(block nil (setq f (FizzBuzz 1)) (do ((i 1 (1+ i))) ((< 100 i)) (princ (funcall f)) (terpri)))