Haskell 前奏曲中不同功能的组合
我编写了一个函数Haskell 前奏曲中不同功能的组合,haskell,Haskell,我编写了一个函数hys=(map(+4)(filter(a->a 我们如何用一个点来组合这两个,然后返回类型的过滤器与(+4)的参数不同?您正在组合map(+4),而不是(+4),它的类型是Num a=>[a]->[a],它与过滤器(像这样(map(+4))(过滤器)一起工作(准确地说。函数应用程序绑定得比运算符更紧密。如果我有这个def h=map(f.(+4))。(filter)(你知道map(:)是做什么的吗?我甚至不能测试它。你应该像调用(map(+4))。(filter)(因为根据定
hys=(map(+4)(filter(a->a
我们如何用一个点来组合这两个,然后返回类型的过滤器与
(+4)
的参数不同?您正在组合map(+4)
,而不是(+4)
,它的类型是Num a=>[a]->[a]
,它与过滤器(像这样(map(+4))(过滤器)一起工作(准确地说。函数应用程序绑定得比运算符更紧密。如果我有这个def h=map(f.(+4))。(filter)(你知道map(:)是做什么的吗?我甚至不能测试它。你应该像调用(map(+4))。(filter)(因为根据定义,(f.g)x=f(gx)
。
h = map (+4) . (filter (<5))
(filter (<5)) :: (Num a, Ord a) => [a] -> [a]
(+4) :: Num a => a -> a