Table of Content
通过上一篇我们简单尝试了 Haskell
语言,也许你没有察觉,其实我们自始至终都在使用着函数。
前面我们使用的运算符 +
、-
、*
、/
其实都是函数,像这样置于两个参数之间调用的函数,称为中缀函数 (Infix Function
)。类似的还有前缀函数 (Prefix Function)
,通过函数名后空格并接以参数列表的形式调用,其中参数列表也以空格分隔。
Haskell> succ 1
2
Haskell> min 100 200
100
Haskell> max 20 99
99
Haskell>
其中 succ
表示获取后继,一个整数的后继,就是比它大 1 的下一个数,例如 2 的后继为 3,而 3 的后继为 4。
我们都知道在进行数的运算时会有优先级的问题,函数调用也是这样。在 Haskell
中函数调用的优先级最高,举个例子:
Haskell> succ 2 + max 10 20
23
Haskell> succ 2 * 5
15
Haskell> succ (2 * 5)
11
Haskell>
对于前缀函数,如果其参数有两个,则可以使用一对反引号 (`)
将其包含后以中缀函数形式调用,例如:
Haskell> div 99 3
33
Haskell> 99 `div` 3
33
Haskell>
在本例中,中缀形式的调用可以增强可读性。