haskell platform下载:https://www.haskell.org/platform/

进入haskell控制台,终端输入

$ ghci

编译文件

:l file.hs

数组操作

>> length [2,3] 长度
>> head [2,3] 首值
>> tail [2,3] 去除头之后
>> last [2,3] 尾值
>> 2:[1] 连接数组
>>[2,3] > [1,3]比较
>> null [] 判断是否为空
>> reverse [2,3] 反转
>> drop 3 [2,3]删除前3个
>> take 3 [2,3]取前3个
>> minimum [2,3]最小
>> maximum [2,3]最大
>> 4 `elem` [1,2,3] 是否包含
>> sum [2,3] 和
>> product [2,3] 积 构造数组
>> [1..10]
>> ['1'..'10']
>> take 10 [1,2..] 取1~10
>> take 10 (cycle [1,2,3]) 取循环数组中的前10
>> take 10 (repeat 5) 构造一个数组长度为10,值为5的数组

集合

>> [x * 2 | x <- [1..2], x * 2 > 10]

元祖tuple

>> (,)
>> (,,"hello")
>> fst (,)
>> snd (,) 此两函数只对2元组有效
>> zip [,] ["ONE", "TWO"] 匹配组合成二元组
求一个直角三角形
>> let triangle = [(a,b,c) | c <- [1..10], a <- [1..c], b <- [1..a], a + b > c, a^2 + b^2 == c^2, a + b + c == 24]
>> triange

型别

>> :t
>> :t ""
>> :t ''
>> :t ==2
基本typeclasses
Eq:判断相等 除函数以外所有型别都属于Eq
Ord:可比较大小
Show:除函数以外都属于Show。可输出字符串
Read:将字符串转为相应类型
>> read "TRUE" || False
Enum可用于range
>> pred 'B' 前一个
>> succ 'B' 后一个
Bounded
>> minBound :: Int
>> maxBound :: Int
Num
Integral
Floating
RealFloat
String
整数和浮点相加
>> fromIntegral (3::Int) + 3.2

haskell笔记1的更多相关文章

  1. Haskell 笔记(三)类型系统

    类型 (Type) Haskell的类型系统式静态类型系统,在编译的时候就知道数据类型,所以不同类型的值运算在编译的时候就会报错,比如用布尔值和整数运算,在C语言中这种运算就不会报错. Haskell ...

  2. Haskell 笔记(四)函数系统

    函数系统 函数式编程当然少不了函数系统啦,在教程最初的时候就有一个最简单的函数,函数系统贯穿在Haskell全部,Haskell的函数有几个重要的性质. 首先声明一下函数的参数和返回值类型 然后有一个 ...

  3. Haskell 笔记 ③

    ①循环?NO!请递归思考问题! 手艹一个求列表中最大值代码,C语言中习惯性for扫一下比较出最大值.但是可以用递归! maximum'::(Ord a)=>[a]->a maximum' ...

  4. Haskell 笔记 ②

    ①如何写一个求阶层函数? fac 0 =1 fac n=n*fac(n-1) 函数自适应匹配参数,可以把特判情况写在前面,注意按顺序匹配的,n这种万能情况写在最前面就完蛋了.同时你也注意到,函数只能一 ...

  5. Haskell 笔记 ①

    ①一切都是函数,包括常量.表达式,格式:名字 参数1 参数2.. =函数内容 ②if语句(else绝对不可以省略) F=if (..) then x else y ③没有数组,只有列表[1,2,3,4 ...

  6. haskell笔记2

    模式匹配 # haskell_test.hs length' :: [a] -> a length' [] = 0 length' (_:x) = 1 + length' x as模式 xs@x ...

  7. Haskell复习笔记(一)

    Haskell笔记这是第三次总结,前两次都因为各种原因丢失了,对于Haskell我算不上什么大神,只不过在大学时为了学习算法时选择了Haskell. 当时的入门书籍选择的是<Learn You ...

  8. haskell学习笔记_函数

    一开始学习函数式编程语言就被告知函数式编程语言是一种“定义式”的语言,而不是一种命令式的语言,在学习haskell的函数语法时,此感觉更加强烈,haskell的函数定义倾向于一种类似C++里面的swi ...

  9. Haskell语言学习笔记(88)语言扩展(1)

    ExistentialQuantification {-# LANGUAGE ExistentialQuantification #-} 存在类型专用的语言扩展 Haskell语言学习笔记(73)Ex ...

随机推荐

  1. 【Swing】Swing初步认知

    AWT(abstract Window Toolkit) AWT是java发布的第一个图形界面库.AWT通过调用系统本地的库,来创建和显示控件. AWT 的组件都是使用的native code来编写的 ...

  2. js跳转方法

    很有用的东西,参考自http://www.zhuoda.org/lunzi/66097.html 第一种 <script language="javascript" type ...

  3. C++经典编程题#4:单词翻转

    总时间限制:  1000ms  内存限制:  65536kB 描述 输入一个句子(一行),将句子中的每一个单词翻转后输出. 输入 只有一行,为一个字符串,不超过500个字符.单词之间以空格隔开. 输出 ...

  4. sdut2169:Sequence(dp)

    题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2169 #include <iost ...

  5. Volume rendering

    Volume rendering Reconstruction filter UCDAVIS

  6. php 表单提交

    <?php header("Content-Type:text/html; charset=utf8"); class config{ public static funct ...

  7. Could not find class XXX referenced from method XXX.<YYY>

    Since some ADT-Version you have to set which libraries / projects should be exported too. Project-Pr ...

  8. Python模块(scapy)

    scapy scapy相当于linux的tcpdump的功能

  9. NSString的截取

    // //  main.m //  02-字符串的获取 // //  Created by apple on 14-3-20. //  Copyright (c) 2014年 apple. All r ...

  10. js星级评分点击星级评论打分效果

    html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...