x在最后做什么?为什么我需要在那里写它?
x
(\x -> (>=5) x)
如果我像这样调用函数:(\x -> (>=5) x) 5,第二个x在做什么?也许有人能给我解释一下。
(\x -> (>=5) x) 5
s3fp2yjn1#
(>= 5)是一个section of an infix operator [Haskell-wiki],它等价于\y -> y >= 5,因此它是一个函数,我们将x应用于该函数。这意味着:
(>= 5)
\y -> y >= 5
\x -> (>= 5) x
因此等效于:
\x -> x >= 5
或者简单地说:
由于η-reduction [Haskell-wiki],因此,
1条答案
按热度按时间s3fp2yjn1#
(>= 5)
是一个section of an infix operator [Haskell-wiki],它等价于\y -> y >= 5
,因此它是一个函数,我们将x
应用于该函数。这意味着:因此等效于:
或者简单地说:
由于η-reduction [Haskell-wiki],因此,