作者: 閑舎 | |
日時: 2002/4/09(14:46) |
Tsutomu Hiroshima <tsutomu@...> さん writes. > ;;; 解1 > ;;; 名前付き let による終端再帰を使った素直な解 > (display > (let loop ((total 0)) > (let ((num (read))) > (if (zero? num) > total > (loop (+ total num)))))) Scheme ってこういう書き方ができるとは便利ですね。Emacs Lisp だと、 (let ((loop t) (total 0)) (while loop (setq num (read-minibuffer "")) (if (= num 0) (progn (setq loop nil) (message (format "%f" total)) (sleep-for 2)) (setq total (+ total num)) ))) というような書き方しか思いつきません。 -- 本田博通(閑舎) Hiromichi Honda <raku@...>