【发布时间】:2011-12-08 21:03:40
【问题描述】:
我尝试创建这段代码来计算记录数量并打印它们,但我似乎无法让它工作我经常收到关于函数 reportReg 应用于一个参数但其类型 [String] 没有的错误。
report :: [[String]] -> String -> [String]
report (x:xs) typ = do
case typ of
"registrations" -> reportReg (map head xs)
"completions" -> reportReg (map head xs)
reportReg :: [String]
reportReg [x] = do
print x
print 1
reportReg (x:xs) = do
let count = instances x (x:xs)
print x
print count
let newlist = filter (==x) (x:xs)
reportReg newlist
instances::String->[String]->Int
instances x [] = 0
instances x (y:ys)
| x==y = 1+(instances x ys)
| otherwise = instances x ys
另外,有没有更简单的方法来做到这一点?
【问题讨论】:
-
看起来您正在输入“字符串”。否则很难看出你在做什么。也许更具描述性。
标签: string list haskell printing count