本篇是笔记篇,介绍 Haskell 的强大的库函数,也可感受下与我们平常的 js 操作异同之处:
id
给定一个任何的值,都返回这个给定的值;
Prelude> id "myId"
"myId"
Prelude...,它会根据一个条件,从左至右,当遇到符合条件的时候停止;
Prelude> break odd [1,3,5,6,9]
([],[1,3,5,6,9])
takeWhile/dropWhile
之前的 ...take 和 drop 函数是通过给定一个整数来取得或者去掉列表中的前几个元素,而 takeWhile 和 dropWhile 则需要一个条件来判断,条件不成立的时候停止取出或者去除;
Prelude>...takeWhile (>5) [6,7,8,2,3,4]
[6,7,8]
Prelude> dropWhile (>5) [6,7,8,2,3,4]
[2,3,4]
splitAt
这个函数可以将一个列表在任何的位置分开...repeat/replicate
重复函数repeat可以将一个元素在列表里重复无数次;
replicate 是复制函数,可以将一个元素复制给定的次数;
Prelude> repeat True
[True