関数型プログラミング言語Haskell Part34 (667レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
30
(3): デフォルトの名無しさん [sage] 2021/12/31(金) 16:30:35.01 ID:aP8qPSMg(3/5) AAS
>>29
wc5 = let
iterator [] = 0
iterator (0:1:xs) = 1 + (iterator xs)
iterator (x:xs) = iterator xs
in iterator . ((0::Int) :)

wc5 . map chkspand $ "0 hushjuh hhuj 89 546456"
5

上手く行きました
イテレータのパターンマッチ目からウロコ
31
(1): デフォルトの名無しさん [sage] 2021/12/31(金) 20:42:25.11 ID:aP8qPSMg(4/5) AAS
>>30のこれ
iterator (0:1:xs) = 1 + (iterator xs)
内部で
1+1+1+1+...が積みあがって最後に計算されるの?
34
(3): デフォルトの名無しさん [sage] 2022/01/02(日) 20:44:02.99 ID:OOMiLRw0(1/2) AAS
>>30ちょと改変
wc6 = let
iter n [] = z
iter n (False:True:xs) = let n' = n + 1 in seq n' $ iter n' xs
iter n (x:xs) = iter n xs
in (iter 0) . (False :)

wcc = wc6 . map chkspand2
これのseq n'が効けば+1+1+1+1が積みあがらないはず
35: デフォルトの名無しさん [sage] 2022/01/02(日) 21:09:40.82 ID:OOMiLRw0(2/2) AAS
ghciで確認
>>30はスタックオーバーフローで止まった
>>34は止まらないからctr-Cで止めた
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.041s