• haskell笔记1


    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

    >> (8,1)
    >> (8,1,"hello")
    >> fst (8,1)
    >> snd (8,1) 此两函数只对2元组有效
    >> zip [1,2] ["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 1
    >> :t "1"
    >> :t '1'
    >> :t 1==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
  • 相关阅读:
    杭电2007
    杭电 2004
    杭电2005
    杭电2001
    杭电 2000
    Section One
    杭电oj 1002
    杭电oj 1001
    JavaScript高级程序设计第14章表单脚本 (学习笔记)
    JavaScript高级程序设计(学习笔记)
  • 原文地址:https://www.cnblogs.com/guochunyi/p/5977187.html
Copyright © 2020-2023  润新知