[過去ログ] 関数型プログラミング言語Haskell Part32 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
73
(2): 2019/02/03(日)22:14 ID:5bolWXfM(18/36) AAS
>>69
fact 0 = 1で終了するというのが納得いってない
もしそうであれば1を返せば再帰は終了すると仮定したんだ

そもそもfact 0 = 1ってマクロ定義みたいなもんだし
直ちに評価されて式に代入されるよね
74
(1): 2019/02/03(日)22:17 ID:DVkCUlxV(10/11) AAS
>>73
他の言語で再帰ってのは理解しているの?

fact 0 = 1で=の右にfactが無いから、再帰は終了 だから、終了条件は書かれている。
もしこれが理解できないのなら、関数定義とか、パターンマッチとかもっと基本的なことに
戻らないと理解できないと思う
76
(1): 2019/02/03(日)22:19 ID:RwDwNYzW(14/27) AAS
>>73
fact 0 = 1
で「終了する」というのが間違い

fact 0 = 1
では、fact 0 が 1を返す(正確に言うと1に簡約する)
ということしか定義していない
ただ、もうfact関数を呼び出していないので、再帰呼出しはここで止まる

そして fact 0 = 1 がマクロ定義ということも勘違いなので忘れよう

>>67 が解説してくれた
fact 3
省5
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.167s*