アカウント名:
パスワード:
再帰的なデータ構造を扱うとき(ツリーをトラバースするときなど)は、再帰呼び出しを直接使うことがあります。
その他、末尾呼び出しがスタックフレームを消費しない言語を使うときは、継続条件が繰り返しの途中に現れるようなループを書く際に、再帰呼び出しを直接使います。
より抽象化された高階関数などが使える時は、当然ながらそちらを使うべきだと思います。
>再帰的なデータ構造を扱うとき(ツリーをトラバースするときなど)は、再帰呼び出しを直接使うことがあります。これは再帰を使わないほうが難しいね
再帰呼び出しを使った方が簡単になるのなら迷わず使います。再帰的なデータ構造なんかはその最たる例ですね。
関数型言語もかじってるので、ループを再帰で実現するってのも一応わかります。末尾再帰もね。schemeなんかやったから「プリミティブは少ない方がいい教」の信者でもあります。なのでループを再帰呼び出して実現するなpgrって意見には与しません。とか言いつつ普段はRubyとPHPでプログラム組んでるので背教者かもしれません。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
人生の大半の問題はスルー力で解決する -- スルー力研究専門家
使うこともある (スコア:1)
再帰的なデータ構造を扱うとき(ツリーをトラバースするときなど)は、再帰呼び出しを直接使うことがあります。
その他、末尾呼び出しがスタックフレームを消費しない言語を使うときは、継続条件が繰り返しの途中に現れるようなループを書く際に、再帰呼び出しを直接使います。
より抽象化された高階関数などが使える時は、当然ながらそちらを使うべきだと思います。
Re: (スコア:1)
>再帰的なデータ構造を扱うとき(ツリーをトラバースするときなど)は、再帰呼び出しを直接使うことがあります。
これは再帰を使わないほうが難しいね
Re:使うこともある (スコア:0)
再帰呼び出しを使った方が簡単になるのなら迷わず使います。
再帰的なデータ構造なんかはその最たる例ですね。
関数型言語もかじってるので、ループを再帰で実現するってのも一応わかります。
末尾再帰もね。
schemeなんかやったから「プリミティブは少ない方がいい教」の信者でもあります。
なのでループを再帰呼び出して実現するなpgrって意見には与しません。
とか言いつつ普段はRubyとPHPでプログラム組んでるので背教者かもしれません。