gpt4 book ai didi

haskell - Haskell 中的运算符和函数有什么区别?

转载 作者:行者123 更新时间:2023-12-03 14:40:10 26 4
gpt4 key购买 nike

我是 Haskell 的新手,这种中缀和前缀符号的混合让我感到困惑。
像“+”这样的运算符和像 head 这样的函数有什么区别?我如何编写一个运算符'c'来执行此 1 c 1 = 2?

我发现了这个定义! b = 真。 Haskell 怎么知道我在定义!而不是一个函数?

最佳答案

在 Haskell 中,要创建运算符,您必须使用以下“运算符符号”:

! # $ % * + ./<=>?\^ | : - ~

所以,例如

($$$) a b = a+b

定义一个运算符 $$$,它可以在表达式 1 $$$ 1 中使用以产生值 2。

从概念上讲,运算符和函数之间没有区别,您可以使用反引号或括号使一个像另一个一样工作。

编辑:

100% 清楚,让我演示将函数转换为运算符,反之亦然:

对于运算符“+”,以下两个表达式是等价的:
1+1
(+) 1 1

同样,对于一个函数,以下两个表达式是等价的:
foo 1 2
1 `foo` 2

关于haskell - Haskell 中的运算符和函数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2480974/

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