gpt4 book ai didi

haskell - Haskell ((< x) y) 和 (((<) x) y) 的区别

转载 作者:行者123 更新时间:2023-12-03 12:48:28 24 4
gpt4 key购买 nike

我无法理解为什么这些会有所不同。:

Prelude> :t ((<) 3)
((<) 3) :: (Num a, Ord a) => a -> Bool
Prelude> ((<) 3) 2
False
Prelude>

Prelude> :t (< 3)
(< 3) :: (Num a, Ord a) => a -> Bool
Prelude> (< 3) 2
True
Prelude>

我怀疑有一个直截了当的答案,但我什至不知道用什么词来描述第一种和第二种情况之间的区别。一旦有人告诉我在这种情况下它是什么,我很高兴编辑我的问题以使用正确的命名法。

最佳答案

(<) 3适用 3作为 < 的第一个(左)参数.所以(<) 3 23 < 2 相同.
(< 3)section适用 3作为 < 的右操作数.这是可以与二元中缀运算符一起使用的特殊语法。所以(< 3) 22 < 3 相同.

申请 3作为带节的左操作数,你可以这样写:(3 <) .所以(3 <) 23 < 2 相同.

使用 lambda 进行演示:(< 3)\x -> x < 3 相同, 和 (3 <)\x -> 3 < x 相同.

关于haskell - Haskell ((< x) y) 和 (((<) x) y) 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45773213/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com