トップページ > プログラム > 2015年08月13日 > kS/o56L+

書き込み順位&時間帯一覧

6 位/150 ID中時間01234567891011121314151617181920212223Total
書き込み数0241000000000000000000007



使用した名前一覧書き込んだスレッド一覧
まーた連続書き込み規制だよ
デフォルトの名無しさん
なあ、再帰関数好きな人いる? [転載禁止]©2ch.net

書き込みレス一覧

なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
135 :まーた連続書き込み規制だよ[sage]:2015/08/13(木) 01:50:39.52 ID:kS/o56L+
>>116とか>>119とか>>121とか>>122

そういう場合、switchを使うんだけど
ちょっと数が増えただけで、循環的複雑度を調べるツールで
複雑だって言われるんで、これぐらいいいじゃねーかと思いながら
(※注 そのツールを導入したのは俺wしきい値を8に設定してるのも俺w)

関数テーブル呼び出し的なコード(意味わかるよね?)に書き換えるんだけど、
そうしたらやっぱり前よりわかりやすくなって、
やっぱりswitchいらねーか、とか思ってしまうw

関数テーブル呼び出し的なコードにすれば、パターンマッチ漏れは
nullを関数呼び出しすることになって、実行時エラーになってはくれるよ。
なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
137 :デフォルトの名無しさん[sage]:2015/08/13(木) 01:59:57.44 ID:kS/o56L+
>>136
> 元から再帰で無理矢理書くことを勧めてる人は、そういないんじゃないかと
うん、こいつらぐらいかな? 適切なものを選ぼうとせずに
何でも再帰、再帰のほうがわかりやすい。
再帰使うほうが頭いい、(理由ないけど)普通に再帰だわ
とか言ってる人。

25 名前:デフォルトの名無しさん[] 投稿日:2015/08/11(火) 20:07:51.21 ID:SPQSl72c [2/2]
再帰のほうがわかりやすいと思えない子が

26 名前:デフォルトの名無しさん[sage] 投稿日:2015/08/11(火) 20:55:40.81 ID:I9e7/X97 [1/2]
再起が得意かどうかで頭の良さが決まる

33 名前:デフォルトの名無しさん[] 投稿日:2015/08/11(火) 23:39:17.34 ID:BomPGBV/ [2/2]
再帰苦手なのは練習不足なだけ
理解が早いのは完全に地頭がいいだけじゃね?

74 返信:デフォルトの名無しさん[] 投稿日:2015/08/12(水) 23:00:43.40 ID:ALDJfVhA [5/11]
>>72
>だけどデータがリスト構造なだけなら
>普通にループを使ったほうがわかりやすい。

んなわけねーだろ
普通に再帰使うわ
なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
141 :デフォルトの名無しさん[sage]:2015/08/13(木) 02:07:07.66 ID:kS/o56L+
> それってfoldかfilterで良くないですか?
> そう言う意味で、再帰よりループのが不要に見えるんですが

え? 君、foldかfilterでいいにしても、再帰の話してないよね?
foldもfilterもループでも再帰でも書けるわけだから。

高階関数呼び出しを行うそれらの関数を使えば
ループ(または再帰)が不要になるっていう話なら別に否定してない。

俺もよく使うし、上の方でも書いたよ。

>>53
> 最近ではMIMEメールのパースとか、連想配列の
> 全ての値の処理とかで使ったかな。
>
> 再帰を使うことはめったにない。そしてミスをしやすい所でもある。
> だから再帰を使うときは、再帰を考慮しなくていい形に置き換えるようにしている。
> つまりJavaScriptでいうmapやreduceの形にする。再帰部分と処理部分に分けて再帰部分を隠ぺいする。
> 通常書くのはコールバックで呼ばれる処理部分のみ。
> そうすることで可読性も大きく上昇する。

再帰はわかりづらいからtraverseみたいな形にすることで再帰を内部に隠ぺいする。
ループを内部に隠蔽してfoldかfilterがあればループが不要だというのなら、
同じ理由で、再帰を内部に隠蔽したtraverseで良いから、再帰は不要だって言えばいいの?
なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
143 :デフォルトの名無しさん[sage]:2015/08/13(木) 02:15:06.80 ID:kS/o56L+
そういや高階関数使える言語ばっかりになったよな。

>>140
> 結局、純粋な関数型言語の時代は来ないんじゃないですかね。

俺もそう思う。

高階関数は便利だけど、純粋な関数型言語まではいらないかな。
あとScalaでいうval、再代入不可能な変数も欲しいけど。
なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
145 :デフォルトの名無しさん[sage]:2015/08/13(木) 02:19:45.60 ID:kS/o56L+
>>142
そもそもの話が、「ループで簡単に書けるようなもの」を
再帰でわざわざ書くなって話なんだよ。

正確に言うと、再帰を使わないでいいような処理に
再帰を使うなという話。

だから、その手の関数で簡単に書き下せる処理に
再帰を使うなっていう話でも有る。
なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
146 :デフォルトの名無しさん[sage]:2015/08/13(木) 02:20:52.90 ID:kS/o56L+
>>144
話が再帰してるから

(ループをわざわざ再帰にしてみました!)
なあ、再帰関数好きな人いる? [転載禁止]©2ch.net
148 :デフォルトの名無しさん[sage]:2015/08/13(木) 03:17:20.09 ID:kS/o56L+
>>147
最初っからおんなじ
再帰は可読性悪いんで
使わずに済むなら使わない方がいい。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。