我真的希望Google能更好地搜索语法:
decades :: (RealFrac a) => a -> a -> [a] -> Array Int Int decades a b = hist (0,9) . map decade where decade x = floor ((x - a) * s) s = 10 / (b - a)
5vf7fwbs1#
第一个月是在数学中:一米一米一x一米二米一x在 haskell :x1米3英寸x1米4英寸
djmepvbi2#
表示函数组合,参见this question。还要注意,f.g.h x不等同于(f.g.h) x,因为它被解释为f.g.(h x),除非(h x)返回函数,否则不会进行类型检查。这就是$操作符可以派上用场的地方:f.g.h $ x把x从h的一个参数,变成了整个表达式的一个参数,所以它等价于f(g(h x)),管道再次工作。
f.g.h x
(f.g.h) x
f.g.(h x)
f.g.h $ x
h
f(g(h x))
xpszyzbs3#
.是用于函数合成的高阶函数。
.
Prelude> :type (.) (.) :: (b -> c) -> (a -> b) -> a -> c Prelude> (*2) . (+1) $ 1 4 Prelude> ((*2) . (+1)) 1 4
tyky79it4#
句点是一个函数复合运算符。一般来说,当f和g是函数时,(f . g)x的含义与f(g x)相同。换句话说,句点用于从右边的函数获取结果,将其作为参数提供给左边的函数,并返回表示此计算的新函数。
ff29svar5#
它是一种功能组合:链接
jm2pwxwz6#
Function composition(页面很长,使用搜索)
6条答案
按热度按时间5vf7fwbs1#
第一个月
是
在数学中:一米一米一x一米二米一x
在 haskell :x1米3英寸x1米4英寸
djmepvbi2#
表示函数组合,参见this question。
还要注意,
f.g.h x
不等同于(f.g.h) x
,因为它被解释为f.g.(h x)
,除非(h x)返回函数,否则不会进行类型检查。这就是$操作符可以派上用场的地方:
f.g.h $ x
把x从h
的一个参数,变成了整个表达式的一个参数,所以它等价于f(g(h x))
,管道再次工作。xpszyzbs3#
.
是用于函数合成的高阶函数。tyky79it4#
句点是一个函数复合运算符。一般来说,当f和g是函数时,(f . g)x的含义与f(g x)相同。换句话说,句点用于从右边的函数获取结果,将其作为参数提供给左边的函数,并返回表示此计算的新函数。
ff29svar5#
它是一种功能组合:链接
jm2pwxwz6#
Function composition(页面很长,使用搜索)