「プログラミング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 件のコメント:
コメントを投稿