第二篇 入门.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第⼆章 ⼊门 各就各位,预备 ! 启蒙:你的第⼀个函数 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 。译者 注)。如你所见,

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档