【发布时间】:2022-01-01 03:19:03
【问题描述】:
创建一个函数,该函数接受一个字符串并将其拆分为列表
(word, length word)类型的元组。它需要使用foldr遍历列表,不使用length和/或(++).例如
> splitSen " Asdf qw zx mn " [("Asdf",4),("qw",2),("zx",2),("mn",2)]
我的实现是这样的
splitSen :: String -> [(String,Int)]
splitSen cs = foldr func [] cs where
func ' ' ((c1,n1) : ps) = ps
func c ((c1,n1) : ps) = (c:c1,1+n1):ps
我得到一个错误
*** 例外:函数 func 中的非详尽模式
但无法弄清楚我缺少什么模式。
【问题讨论】: