码迷,mamicode.com
首页 > 其他好文 > 详细

Haskell -- list

时间:2014-06-17 21:51:32      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:haskell


List 中的元素类型必须一致

List 中的 List 可以是不同长度,但必须得是相同的类型

bubuko.com,布布扣


拼接操作符++

bubuko.com,布布扣


另:字符串 "AB" 只是 [‘A‘, ‘B‘] 的语法糖,可以用list操作符来作用于字符串上

bubuko.com,布布扣


“:”运算符只能一次插入一个元素,否则报错

bubuko.com,布布扣


下标操作符 !! ,试了下二维的,也是可以的

bubuko.com,布布扣


比较符

先从第一元素开始比较大小,直到两个对比的元素能比较出大小

bubuko.com,布布扣


List 常用函数

head 返回一个 List 的头部,也就是 List 的首个元素

tail 返回一个 List 的尾部,也就是 List 除去头部之后的部分

last 返回一个 List 的最后一个元素

init 返回一个 List 除去最后一个元素的部分

bubuko.com,布布扣


length 返回 List 的长度

null 判断 List 是否为空

reverse 转置 List

bubuko.com,布布扣


take 取走 List 中前几个元素

drop 与 take 相反,用来删除

bubuko.com,布布扣


maximum,minimum,sum,product

bubuko.com,布布扣


Range:

[start..end] 产生从 start 到 end 的list

[start, next..end] start 和 next 之间的距离会被视为规则

而python是将规则放在range的第三个参数

bubuko.com,布布扣



cycle 无限循环元素,但是 Haskell 是惰性求值的,当你要多少的时候,他才会给你多少

bubuko.com,布布扣


List 推导式,和python很相似,可能是 python 受了 Haskell 的启发吧

"<-" 可以变相理解为 for,可以在 "|" 后面插入多个条件

格式如同数学上的

bubuko.com,布布扣

bubuko.com,布布扣


zip 函数也和 python 里面一样的

规则是选定短的 List 为上界,貌似不能合并多个

bubuko.com,布布扣






Haskell -- list,布布扣,bubuko.com

Haskell -- list

标签:haskell

原文地址:http://blog.csdn.net/pandora_madara/article/details/31368535

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!