Haskell函数返回值

Sri*_*vas 1 haskell

有什么区别

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)

相同?

Cha*_*ert 7

.函数定义如下:

(.) :: (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)