[過去ログ] 関数型プログラミング言語Haskell Part32 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
11(3): ◆QZaw55cn4c [sage] 2019/02/03(日) 15:04:51.94 ID:t4xt++Qj(1/20) AAS
>>99(11): デフォルトの名無しさん [sage] 2019/02/03(日) 12:58:27.43 ID:5bolWXfM(1/36) AAS
haskell紹介してるブログとか色々あるけどどこも肝心要のところがすっぽり抜けててイライラするな・・
例えば
fact 0 = 1
fact n = n * fact(n - 1)
これ無限ループになっちゃって終わらないでしょ終端条件も書いてないし。
fact 3を展開すると
3 * ( 2 * ( 1 * ( 1 * ………
0を入力すれば1になるってことはこの先ずーっと1が繰り返されるだけだし。
同じ値が2度続いたら処理を止めるとか変な仕組みでも入ってるのかねー
>無限ループになっちゃって終わらないでしょ終端条件も書いてないし。
いえいえ、終端条件が
>fact 0 = 1
です、n ∈ N たる n からはじまって 0 で終わる、と読みます
fact 3 = 3 * fact 2
= 3 * 2 * fact 1
= 3 * 2 * 1 * fact 0
= 3 * 2 * 1 * 1
で止まります.
14(1): デフォルトの名無しさん [sage] 2019/02/03(日) 21:08:06.34 ID:RwDwNYzW(1/27) AAS
>>1313(3): デフォルトの名無しさん [sage] 2019/02/03(日) 20:51:10.38 ID:5bolWXfM(2/36) AAS
>>12
それじゃ納得できないんだけども
終わるから大丈夫仕様ですってもやっとするから
>>9で書いたように1が無限に続いちゃうと思うんだけどな
0が入力されたら1を返すってことだから
1 - 1でまた繰り返しちゃうよね
そもそもどの値が来たら終わるか全く記述がないよね
そういうところも納得できないっていうかおかしい
>>11 が説明してくれたとおりなのだけど、納得できない?
16(1): デフォルトの名無しさん [sage] 2019/02/03(日) 21:15:44.35 ID:DVkCUlxV(2/11) AAS
>>13
ああ 言っている意味は分かったけど
続かねーぞ よく考えてみ 恥ずかしい思いするだろうけど
っていうか、>>11のひとが書いてるじゃん
fact 1 = 1 * fact 0
= 1 * 1 で終了だろ
これ納得できないとしたら、別のところで引っかかっている
パターンマッチを理解していないとか
21: デフォルトの名無しさん [] 2019/02/03(日) 21:22:45.27 ID:I0qputsI(1/5) AAS
>>1515(3): デフォルトの名無しさん [sage] 2019/02/03(日) 21:13:08.06 ID:5bolWXfM(3/36) AAS
>>14
あの説明で納得するようならここ来てないから
あれだとブログの説明と何も変わらない
まさか1かtrueを返したら問答無用で終わる仕様だったりするのかねー
fact 0で問答無用で終わる仕組みですが。。。
>>11 以上にやさしい説明はないと思われ。
普通の言語(ここで
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.580s*