0
基本的には、ユーザーが1行に入力した「e」の数を確認するループがあります。問題は、すべての行の後に入力された合計の合計を表示することです。彼が1 'e'を入力して結果が1になるとしたら、2 'e'が入っている2行目を入力した後、合計は3となります...そして、その行が空になるまで続きます。合計でハズケルを作る
ここまでは私のコードです。それの問題:私は "トータル"を作る方法を知らない。私は明らかかどうか分からない...現在のコードは、各行で見つけられるが、合計ではない「e」の量を与える。
main = do
putStrLn "Enter your line"
line <- getLine
if line == ""
then return()
else do
let v = nume line
main
print v
nume [] = 0
nume (x:xs)
|x == 'e' = 1 + nume xs
| otherwise = nume xs
結果:
Enter your line
there is 3 e
Enter your line
there are 4 e
Enter your line
only 1 e
Enter your line
1 <<-- Should be 8 (3+4+1)
4 <<-- Should be 7 (4+3)
3 <<-- ok
これは、 'unless(null line)$そう... – Michael