アカウント名:
パスワード:
再帰的なデータ構造を扱うとき(ツリーをトラバースするときなど)は、再帰呼び出しを直接使うことがあります。
その他、末尾呼び出しがスタックフレームを消費しない言語を使うときは、継続条件が繰り返しの途中に現れるようなループを書く際に、再帰呼び出しを直接使います。
より抽象化された高階関数などが使える時は、当然ながらそちらを使うべきだと思います。
> より抽象化された高階関数などが使える時は、当然ながらそちらを使うべきだと思います。
関数型言語のコミュニティでも、再帰呼び出しを直接書くのは好ましくないスタイルとされているはずですケースバイケースですけども、mapやfoldrが使えるのにオレ再帰は歓迎されません
個人的な印象だと、動作や検証などフローに着眼するものは高階関数より再帰の書き下しのほうが理解しやすい気がします値を生成するものは高階関数が読み書きのどちらも具合がいい
あくまで個人的な印象です
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond
使うこともある (スコア:1)
再帰的なデータ構造を扱うとき(ツリーをトラバースするときなど)は、再帰呼び出しを直接使うことがあります。
その他、末尾呼び出しがスタックフレームを消費しない言語を使うときは、継続条件が繰り返しの途中に現れるようなループを書く際に、再帰呼び出しを直接使います。
より抽象化された高階関数などが使える時は、当然ながらそちらを使うべきだと思います。
Re:使うこともある (スコア:0)
> より抽象化された高階関数などが使える時は、当然ながらそちらを使うべきだと思います。
関数型言語のコミュニティでも、再帰呼び出しを直接書くのは好ましくないスタイルとされているはずです
ケースバイケースですけども、mapやfoldrが使えるのにオレ再帰は歓迎されません
Re: (スコア:0)
個人的な印象だと、動作や検証などフローに着眼するものは高階関数より再帰の書き下しのほうが理解しやすい気がします
値を生成するものは高階関数が読み書きのどちらも具合がいい
あくまで個人的な印象です