- 143 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 02:07:07.66 ID:kS/o56L+.net]
- > それってfoldかfilterで良くないですか?
> そう言う意味で、再帰よりループのが不要に見えるんですが え? 君、foldかfilterでいいにしても、再帰の話してないよね? foldもfilterもループでも再帰でも書けるわけだから。 高階関数呼び出しを行うそれらの関数を使えば ループ(または再帰)が不要になるっていう話なら別に否定してない。 俺もよく使うし、上の方でも書いたよ。 >>54 > 最近ではMIMEメールのパースとか、連想配列の > 全ての値の処理とかで使ったかな。 > > 再帰を使うことはめったにない。そしてミスをしやすい所でもある。 > だから再帰を使うときは、再帰を考慮しなくていい形に置き換えるようにしている。 > つまりJavaScriptでいうmapやreduceの形にする。再帰部分と処理部分に分けて再帰部分を隠ぺいする。 > 通常書くのはコールバックで呼ばれる処理部分のみ。 > そうすることで可読性も大きく上昇する。 再帰はわかりづらいからtraverseみたいな形にすることで再帰を内部に隠ぺいする。 ループを内部に隠蔽してfoldかfilterがあればループが不要だというのなら、 同じ理由で、再帰を内部に隠蔽したtraverseで良いから、再帰は不要だって言えばいいの?
|

|