我有这个函数,它只计算大写字母,并返回每个字母的计数,例如:输入"ABCd"得到:【一、一、一、二、三、四、五、六、七、八、八、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九、九
我用列表解析实现了这个函数,但是任务是用一个map函数来写它,我该怎么做呢?
counter xs = [count x xs |x<- ['A'..'Z']]
where count x [] = 0
count a (x:xs)
|a == x = 1 + count a xs
|otherwise = count a xs
1条答案
按热度按时间yzckvree1#
正如注解中所暗示的,
map
需要一个函数来Map到列表中的每个元素,您的工作只是设计该函数。