関数型プログラミング言語Haskell Part34 (667レス)
上下前次1-新
抽出解除 レス栞
26: 2021/12/31(金)02:20:27.03 ID:aP8qPSMg(1/5) AAS
シンプルなワードカウント書いたけど関数合成でワードカウントが組めません
" ab ccc dd "を[0,1,1,0,1,1,1,0,1,1,0]みたいなリストに変換して
ワードの数は3みたいな
以下普通に書いたワードカウント
spwc4 :: [Char] -> Int
spwc4 s = wc4 s 0 0
where
wc4 :: [Char] -> Int -> Int -> Int
wc4 [] l c = (c + (if l == 0 then 0 else 1))
wc4 (x:xs) l c
| x == ' ' || x == '\t' || x == '\n' || x == '\r' = if l == 0 then wc4 xs 0 c else wc4 xs 0 (c+1)
| otherwise = wc4 xs (l+1) c
文字列を
chkspand :: Char -> Int
chkspand c = if c == ' ' || c == '\t' || c == '\n' || c == '\r' then 0 else 1
に与えて[0,1,1,0,0,1]みたいなリストに変換
これを関数合成でカウントすると内部状態を保持する必要で困惑中
wordcount . map chkspand $ " asas df df"
みたいな書き方がしたい
197: 2023/01/19(木)20:45:58.03 ID:LuniV29G(1/2) AAS
間違ってさえいない文章
真偽以前に中身がない
198: 2023/01/19(木)20:49:17.03 ID:LuniV29G(2/2) AAS
それっぽいだけで少し読めば大したことすら書かれてないのがわかる
246(1): 2023/09/20(水)08:38:40.03 ID:I55f6i4N(1/2) AAS
for i in * ; do touch anotherdir/$i ; done
356(1): 2024/09/07(土)19:33:25.03 ID:9PXNQc4Q(1/2) AAS
長大な処理となる関数を実行途中にRAM使用量が嵩んでいくとします
中には解放できる部分もある場合について、
このままガベコレせずに進んでいったらいずれOSが『君にはもうRAM貸せないよ』と言ってくるでしょうが、ランタイムシステムは
?その時になってようやく解放できる場所がないか探し出す
?-i 今必要な最低限の確保ができたら即そこに記録して終わり
?-ii 強制的にminorGCを発動して、即そこに記録して終わり
?-iii 強制的にMajorGCを発動して、即そこに記録して終わり
?-iv 強制的にBlockingMajorGCを発動して、即そこに記録して終わり
?-v もはや解放できる場所は見つからないと判断したら例外終了
?何もせず例外終了する
?その他
どれですか?
391(1): 2024/10/01(火)20:52:10.03 ID:u1x9FxNe(1) AAS
雪田修一の「圏論入門 Haskellで計算する 具体例から」ってどうなん?
417: 2024/10/02(水)21:18:36.03 ID:JUMm5MLB(1/2) AAS
数学の研究には有用かも知れないが
プログラミングで
直接役に立つようなことはまず無い
512: 2024/10/04(金)23:22:52.03 ID:WSIC8Xt5(14/14) AAS
>>511
お前が言い出したんだろ
587: 2024/11/03(日)17:33:41.03 ID:4RaSizfZ(1) AAS
その手のはかなり昔からの話だしその頃pythonはそんな一般的ではない
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.144s*