zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    CuteWebUI AJAX Uploader上载控件介绍
    Trident的发展
    jQuery定义类及扩展
    margintop和paddongtop IE
    自己实现的一个简单的相册效果
    Firefox 浮动层背景图不能自动平铺(困惑)
    jQuery对象和DOM对象
    jQuery之Ajax之一
    position
    DOM基础心得
  • 原文地址:https://www.cnblogs.com/guochunyi/p/5977187.html
Copyright © 2011-2022 走看看