首页 > 其他 > 详细

初识Haskell 二:基本操作和类型Type

时间:2019-01-23 10:22:20      阅读:246      评论:0      收藏:0      [点我收藏+]

主要介绍Haskell中的基本操作和类型和类型中的注意点。操作环境Windows

Discrete Mathematics Using a Computer的第一章Introduction to Haskell进行总结。


 

1. 在安装了ghci后,便可以进行Haskell的编译,点击GHCi 即可在命令行中打开ghci,也可点击WinGHCi,也可直接在命令行中ghci进入。

技术分享图片

技术分享图片

                                                    直接在命令行中输入ghci进入

 2.  :?  显示操作命令(注意有“ : ”),常用操作有:

    :cd  进入指定路径

    :load 载入文件

    :quit  退出ghci

 3.Haskell使用缩进(indentation)来表示上一行的续写。单行注释符号--       块注释 {-     -}


 类型Type:

  Integer和Int

  两者均表示整数,区别在于:Int的范围为电脑存储一个字(word)的大小,是有限的。Integer是数学意义上的整数,理论上是无限大的,和电脑内存有关。若在计算时结果会超出Int的范围,则在表达式上用 ::Integer 表示为Integer类型,但实际上目前的gchi似乎是当超出Int时,自动用Integer类型表示,不用标明,但超出Int的结果用Int类型表示则显示为0

技术分享图片

 

Float:单精度浮点数single-precision floating point numbers & Double:双精度浮点数double-precision numbers

浮点数在Haskell中是非精确表示的(当然其他语言也是),比如0.11 - 0.10 和 2.11 - 2.10的结果理应一样,但在Haskell中则不一样(也与电脑有关)

技术分享图片

所以需要注意的是当比较两个浮点数时,是比较其差值的绝对值是否小于一定范围(within an acceptable error tolerance)。

 Ratio Integer:精确表示有理数

因为有理数都可以表示为分数的形式,Haskell用分子(numerator)%分母(denominator)的形式表示有理数。使用前需要import Data.Ratio

     技术分享图片

Bool:布尔值

Char:字符类型

用单引号(single-quote)将字符包起,如 ‘a‘。注意与表示中间操作符的反引号(back-quote)区分,‘?‘是Char,`div`是操作符。还有‘\n‘为换行符(newline),当被打印时会换行。

 

 

 

 

操作符operator:

  部分字符串形式的操作符在表示时,若放在元素的前面则直接打出,如div 5 2,若放在中间(二元操作符)则要用反引号back-quote,和~一个键,数字键1的左边)表示,如 5 `div` 2。

  :: operator   指明该表达式的类型read it as has type,如2::Int says 2 has type Int

  + 加 addition

  - 减 subtraction

  * 乘 multiplication

  / 除 division 如5/2 => 2.5

  div 整除 如 div 5 2 或 5 `div` 2结果为2

  ^ 幂函数 exponentiation

  ** 浮点数幂函数the floating point exponentiation,如 2**0.5=>1.41421

  == 布尔类型操作符 等于

  /= 布尔类型操作符 不等于

  <  布尔类型操作符 小于

  <= 布尔类型操作符 小于等于

  > 布尔类型操作符 大于

  >= 布尔类型操作符 大于等于

  && 布尔类型操作符 与

  || 布尔类型操作符 或

  not 布尔类型操作符 非

常用函数functions:函数名+空格+表达式即可,不用括号,当然在嵌套时要括号。

  max 求两者中的较大值 如max 3 8 => 8

  min  求两者中的较小值 如min 3 8 => 3

  toUpper 返回该字母的大写形式,需要import Data.Char

  toLower 返回该字母的小写形式,需要import Data.Char

 

初识Haskell 二:基本操作和类型Type

原文:https://www.cnblogs.com/Will-zyq/p/10303111.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!