是否可以取消此函数中的变量 x?:
numocc x = map (length.filter(==x))
例如,如果我有这个功能:
numocc x l = map (countt x) l
我可以去掉变量 l 并得到这个:
numocc x = map (countt x)
感谢您的帮助。
最佳答案
您可以使用“pointfree”程序来回答这样的问题
> pointfree "numocc x = map (length . filter (==x))"
numocc = map . (length .) . filter . (==)
<小时/>
编辑
这是在行动
> let numocc x = map (length . filter (==x))
> let numocc' = map . (length .) . filter . (==)
numocc 'a' ["aa", "bb"] --outputs [2, 0]
numocc' 'a' ["aa", "bb"] --also outputs [2, 0]
基本上,它计算 param2 列表项中每个元素中 param1 的数量
numocc 'a' ["aa", "bba"] --outputs [2, 1]
numocc' 'a' ["aa", "bba"] --also outputs [2, 1]
关于haskell - 在 Haskell 中使函数更短,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27501051/