- 2
- 0
- 约1.3万字
- 约 14页
- 2017-06-07 发布于湖北
- 举报
第⼆章 ⼊门
各就各位,预备 !
启蒙:你的第⼀个函数
List⼊门
德州区间
我是List Comprehension
Tuple
各就各位,预备!
好的,出发 !如果你就是那 从不看说明书的不良⼈⼠,我推荐你还是回头看⼀下简
介的最后⼀节。那⾥⾯讲了这个教程中你需要⽤到的⼯具及基本⽤法。我们⾸先要做
的就是进⼊ghc的交互模式,接着就可以调⼏个函数⼩体验⼀把haskell 了。打开控制
台,输⼊ghci ,你会看到如下欢迎信息
GHCi, version 6.8.2: http://www ./ghc/
:? for help Loading package ase ... linking ... done.
Prelude
恭喜,您已经进⼊了ghci !⽬前它的命令⾏提⽰是prelude,不过它在你装载什么
东西后会变的⽐较长。免得碍眼,我们输⼊个:set prompt ghci 把它改
成ghci。
如下是⼀些简单的运算
ghci 2 + 15 17
ghci 49 * 100 4900
ghci 1892 - 1472 420
ghci 5 / 2 2.5
ghci
很简单。也可以在⼀⾏中使⽤多个运算符,按照运算符优先级执⾏计算,使⽤括号可
以更改优先级次序。
ghci (50 * 100) - 4999
1
ghci 50 * 100 - 4999
1
ghci 50 * (100 - 4999)
-244950
很酷么?嗯,我承认不。处理负数时会有个⼩陷阱:执⾏5 * -3会使ghci报错。所以
说,使⽤负数时最好将其置于括号之中,像5*(-3)就不会有问题。
逻辑运算也同样直⽩,你也许知道,指逻辑与,||指逻辑或,not指逻辑否。
ghci True False
False
ghci True True
True
ghci False || True
True
ghci not False
True
ghci not (True True)
False
相等性可以这样判定
ghci 5 == 5
True
ghci 1 == 0
False
ghci 5 /= 5
False
ghci 5 /= 4
True
ghci hello == hello
True
执⾏5+llama或者5==True会怎样?好的,⼀个⼤⼤的报错等着你。
No instance for (Num [Char])
arising from a use of `+ at :1:0-9
Possi le fix : add an instance declaration for (Num [Char])
In the expression: 5 + llama
In the definition of `it: it = 5 + llama
Yikes !ghci 提⽰说llama并不是数值类型,所以它不知道该怎样才能给它加上5 。即
便是“four”甚⾄是“ ”也不可以,haskel不拿它当数值。执⾏True==5, ghci就会提⽰类型
不匹配。+运算符要求两端都是数值,⽽==运算符仅对两个可⽐较的值可⽤。这就要
求他们的类型都必须⼀致,苹果和橙⼦就⽆法做⽐较。我们会在后⾯深⼊地理解类型
的概念。Note:5+4 .0是可以执⾏的,5既可以做被看做整数也可以被看做浮点数,但
.0则不能被看做整数。
也许你并未察觉,不过从始⾄终我们⼀直都在使⽤函数。*就是⼀个将两个数相乘的
函数,就像三明治⼀样,⽤两个参数将它夹在中央,这被称作中缀函数。⽽其他⼤多
数不能与数夹在⼀起的函数则被称作前缀函数。绝⼤部分函数都是前缀函数,在接下
来我们就不多做甄别。⼤多数命令式编程语⾔中的函数调⽤形式通常就是函数名,括
号,由逗号分隔的参数表。⽽在haskell 中,函数调⽤的形式是函数名,空格,空格分
隔的参数表。简单据个例⼦,我们调⽤haskell 中最⽆聊的函数:
ghci succ 8
9
succ函数返回⼀个数的后继 (successor , 在这⾥就是8后⾯那个数,也就是9 。译者
注)。如你所见,
您可能关注的文档
- PowerDesign数据库建模及HibernateTools生成POJO映射文件等.pdf
- PPP的定义及分类研究_王灏.pdf
- ppt电子教案第二篇.ppt
- 手机维修管理系统幻灯片.pdf
- 第二讲 SPSS统计应用.pdf
- 第二讲 VFP语言基础.doc
- 手机显示屏驱动培训幻灯片.ppt
- 第二讲 WindowsXP操作.ppt
- 手机详情页一键编辑发布幻灯片.doc
- 第二讲 操作系统1.ppt
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)