【发布时间】:2016-02-09 05:43:29
【问题描述】:
我在删除此函数中的参数“e”时遇到问题:
numocc e = map length . (map . filter . (==)) e
该函数检查二维列表(列表中的列表)内元素的出现次数。所以你这样称呼它:
numocc 1 [[1, 2], [2, 3, 2, 1, 1], [3]]
结果:[1,2,0]
参数 e 位于等号两侧的最右侧,并且不包含在任何参数中。因此,我应该能够将其删除以获得无点功能:
numocc = map length . (map . filter . (==))
但是我得到了这个错误:
应用程序中的类型错误 表达式:地图长度。地图 。筛选 。 (==) 术语:地图长度 类型:[[b]] -> [Int] 不匹配:([[a]] -> [[a]]) -> [Int]
这里有什么问题?谢谢。
【问题讨论】:
-
当您在列表中测试函数 numocc 时,它也会产生错误。你过滤等于但等于什么?
-
@Zacharie007 对不起,我应该澄清一下,这个函数计算二维列表中元素的出现次数。所以你这样称呼它:numocc 1 [[1, 2], [2, 3, 2, 1, 1], [3]]
标签: haskell functional-programming