一、List中只能存放相同类型的元素。
++:将两个List合并成一个List。例,[1,2,3]++[4,5,6],结果是[1,2,3,4,5,6]。
: :将“:”前面的元素添加到“:”后面的List中。新添加的元素在List的头部位置。例,1:[2,3,4,5,6],结果是[1,2,3,4,5,6]。
!! :取List下标位置的元素。例,[1,2,3,4,5,6]!!0,结果是1。
elem:判断某个元素是否存在于List当中。例,elem 1 [1,2,3,4,5,6],结果是true。中缀形式,1 `elem` [1,2,3,4,5,6]。
PS:中缀形式中的 ` 不是单引号,是键盘上“~”键下面的符号。
二、比较List。
[3] > [2,1]的结果是true。
head:取出List的第一个元素。
tail:取出除List第一个元素外的所有元素。
last:取出List的最后一个元素。
init:取出除List最后一个元素外的所有元素。
length:返回List的长度值。
null:判断List是否为空。
reverse:返回一个List的反转List。
maximum:取List中的最大值。
minimum:取List中的最小值。
sum:计算List元素中的和。
take:取List的前N个元素。例,take 2 [1,2,3,4,5,6],结果是[1,2]。
drop:取List的后X个元素。例,drop 2 [1,2,3,4,5,6],结果是[3,4,5,6]。
三、Range相关
[1..10] 相当于 [1,2,3,4,5,6,7,8,9,10]
['a'..'g'] 相当于 ['a','b','c','d','e','f','g']
[3,6..10] 相当于 [3,6,9]
cycle:无限重复后面的内容。例,take 3 (cycle [1,2]),结果是[1,2,1]。
repeat:无限重复后面的元素。例,take 2 (repeat 1),结果是[1,1]。
replicate:重复N次后面的元素。例,replicate 2 [1,2],结果是[[1,2],[1,2]]。
四、集合的表示
mod:取余操作。
odd:判断一个数是否是奇数。
[x*2|x<-[1..10]] 相当于 [2,4,6,8,10]
[x|x<-[1..10],odd x,mod x 3 == 0] 相当于 [3,9]