这两个函数是如何解析的?
> (** (1/2)) $ 40
6.324555320336759
it :: Double
> ((**) (1/2)) $ 40
9.094947017729282e-13
it :: Double发布于 2010-11-30 00:39:43
第一个是右边的部分,是以下内容的缩写:
(\x -> x ** (1/2)) 40第二个是使用运算符**的函数形式,本质上将其视为pow之类的命名函数:
(**) (1/2) 40它等于
(1/2) ** 40我在代码中省略了$,因为它们是多余的。
(foo bar) $ baz = (foo bar) baz = foo bar bazhttps://stackoverflow.com/questions/4305831
复制相似问题