有什么区别
dotEx1 = map(+3) . filter (>100)
Run Code Online (Sandbox Code Playgroud)
和
dotEx1 xs = map(+3) . filter (>100) xs
Run Code Online (Sandbox Code Playgroud)
以来
myFilter xs = filter (>100) xs
Run Code Online (Sandbox Code Playgroud)
和
myFilter = filter (>100)
Run Code Online (Sandbox Code Playgroud)
是不一样的原因
dotEx1 = map(+3) . filter (>100)
Run Code Online (Sandbox Code Playgroud)
和
dotEx1 xs = map(+3) . filter (>100) xs
Run Code Online (Sandbox Code Playgroud)
相同?
该.函数定义如下:
(.) :: (b -> c) -> (a -> b) -> a -> c
Run Code Online (Sandbox Code Playgroud)
由.运算符组成的函数必须接受一个参数.因此,
dotEx1 = map(+3) . filter (>100)
Run Code Online (Sandbox Code Playgroud)
是相同的
dotEx1 xs = (map(+3) . filter (>100)) xs
Run Code Online (Sandbox Code Playgroud)