2. Haskell简单实践

发布时间 2023-09-07 05:46:10作者: Offer多多

我们要做的第一件事就是运行ghc的交互模式并调用一些函数来获得对haskell的基本感觉,打开终端输入ghci,我们会得到如下的反应:

 做一些简单的算术:

 我们也可以在一行上使用多个运算符,并遵守所有常见的优先级规则,我们可以使用括号来明确优先级或更改优先级。

 需要注意的是,如果我们想要一个负数,最好用括号将其扩起来,例如需要执行 5 * (-3)。

布尔代数也非常简单,&&表示布尔值和,||表示布尔值或,not表示否定True或者False。

 equality是这样完成的,其中/=是不等于的意思:

 那么5 + "llama"或者"5 == True"怎么样呢,如果我们尝试第一个片段,会收到错误消息:

报错信息告诉我们,llama不是一个数字,+仅适用于被视为数字的事物,==适用于任何可以比较的事物,必须是同一类型的东西。

我们一直在使用函数,*是一个接受两个数字并将它们相乘的函数,我们通过将其夹在中间来称呼它,这就是我们说的中缀函数。大多数不与数字一起使用的是前缀函数。

函数通常是前缀的,从现在开始我们不会明确声明函数是前缀形式,我们只是假设。在大多数命令式语言中,通过编写函数名称,然后将参数写在括号中(通常用逗号隔开)来调用函数。在Haskell中。通过编写函数名称、空格和参数来调用函数,参数之间用空格分隔。首先,我们将尝试调用Haskell中最无聊的函数之一。

succ函数接受具有已定义后继者的任何内容并返回该后继者。我们只是用空格分隔函数名称和参数。调用具有多个参数的函数也很简单。函数max和min接受两个可以排序的东西(比如数字):