「プログラミングGauche」P.56~59 6.6 2種類の再帰
末尾再帰とは
| 処理の一番最後に再帰呼び出しをして、その結果がそのまま現在の処理の結果として返されるパターンを末尾再帰と呼びます | 
末尾再帰length
| ;; length tail-recursive             (length3 '(1 2 3 4 5)) ;; => 5             | 
末尾再帰reverse
| ;; tail-recursive reverse             (reverse '(1 2 3 4 5)) ;; => (5 4 3 2 1)             | 
SICPの末尾再帰のところ読んでもあまりピンとこなかったんだけど、「プログラミングGauche」の末尾再帰の説明読んでみて、ようやくわかった。あとここ参考になった。
 
0 件のコメント:
コメントを投稿