関数型プログラミング言語Haskell Part34 (667レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
29(1): 2021/12/31(金)14:58 ID:bqUePCKa(1/2) AAS
スクラッチで書くなら(0:)で0を追加して(0:1:_)をカウントしていくんだろうな
chkspand :: Char -> Int
chkspand c = if c == ' ' || c == '\t' || c == '\n' || c == '\r' then 0 else 1
wordcount = let
iterator [ ] = 0
iterator ( 0: 1: xs ) = 1 + ( iterator xs )
iterator ( x : xs ) = iterator xs
in iterator . ( 0 : )
main = do
print $ map chkspand $ " asas df df"
print $ wordcount . map chkspand $ " asas df df"
32(1): 2021/12/31(金)20:58 ID:bqUePCKa(2/2) AAS
>>31
それは処理系のimplement依存だから一概には言えないけど多分stack上に(1+)関数が乗っていって最後に確定した0が入ってから計算しそうな気がする
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.184s*