* 2008-03-12 :
- scheme
- 再帰の件については SANO さんの書いている形に解釈されれば問題ないと思いますが、Scheme の仕様上は以下のようになるということなのだと思います。(Schemeはよく知らないので自信はありませんが)
(defun foo (i l) (if (>= i 5) l (foo (1+ i) (cons (lambda () i) l)))) (mapcar #'funcall (foo 0 nil)) =>(4 3 2 1 0)
- 再帰ということは関数呼び出しなわけで、レキシカルスコープの境が生まれる、この点が iteration と決定的に異なるという話だと理解しました。
- というか、黒田さんの話が聞けると知っていたら絶対行ったのに…… 残念だなぁ。
update : 2008-03-12 (Wed) 00:48:54