パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

再帰呼び出し、よく使う?使わない?」記事へのコメント

  • 再帰的なデータ構造を扱うとき(ツリーをトラバースするときなど)は、再帰呼び出しを直接使うことがあります。

    その他、末尾呼び出しがスタックフレームを消費しない言語を使うときは、継続条件が繰り返しの途中に現れるようなループを書く際に、再帰呼び出しを直接使います。

    より抽象化された高階関数などが使える時は、当然ながらそちらを使うべきだと思います。

    • by Anonymous Coward on 2015年02月11日 20時13分 (#2759542)

      >再帰的なデータ構造を扱うとき(ツリーをトラバースするときなど)は、再帰呼び出しを直接使うことがあります。
      これは再帰を使わないほうが難しいね

      親コメント
      • by Anonymous Coward

        再帰呼び出しを使った方が簡単になるのなら迷わず使います。
        再帰的なデータ構造なんかはその最たる例ですね。

        関数型言語もかじってるので、ループを再帰で実現するってのも一応わかります。
        末尾再帰もね。
        schemeなんかやったから「プリミティブは少ない方がいい教」の信者でもあります。
        なのでループを再帰呼び出して実現するなpgrって意見には与しません。
        とか言いつつ普段はRubyとPHPでプログラム組んでるので背教者かもしれません。

    • by Anonymous Coward

      > より抽象化された高階関数などが使える時は、当然ながらそちらを使うべきだと思います。

      関数型言語のコミュニティでも、再帰呼び出しを直接書くのは好ましくないスタイルとされているはずです
      ケースバイケースですけども、mapやfoldrが使えるのにオレ再帰は歓迎されません

      • by Anonymous Coward

        個人的な印象だと、動作や検証などフローに着眼するものは高階関数より再帰の書き下しのほうが理解しやすい気がします
        値を生成するものは高階関数が読み書きのどちらも具合がいい

        あくまで個人的な印象です

ソースを見ろ -- ある4桁UID

処理中...