我需要使用递归来计算字符列表中有多少位数字,因此对于这个列表['a','b','c','1','2','3' ]
答案应该是 3
我已经设法使用此代码来做到这一点,但我很难使用递归来做到这一点
counta :: [Char] -> Int
counta = length . filter isDigit
示例:
Main> counta ['a','b','c','1','2','3']
答案应该是:3
最佳答案
与列表上的任何递归函数一样,首先处理头部并递归尾部。
counta :: [Char] -> Int
counta [] = _
counta (x:xs) = let this = _ -- something involving x
that = counta xs
in _ -- something involving this and that
如果您尝试编译它,编译器将准确告知每个 _
应该是什么类型,这将帮助您将它们替换为正确的表达式。
关于haskell - 使用递归在 haskell 中编写一个函数来确定字符列表中有多少位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58719668/