不可变数据结构
序列
1.定义:一组用逗号隔开的表达式
2.例如:函数的参数项为一个序列:
[< l := 2*x + 3 = 1, x;#生成序列
[< solve(l);#求解
-1
3.提取序列元素:使用索引(序列名[索引])
4.编码生成一个序列:使用seq函数
[< seq(2*i + 1, i = 1 .. 5, 2);#生成序列2i+1,i=1,3,5
3, 7, 11
列表
1.定义:用方括号:[ ]封装的序列
2.特点:有序、保留重复元素
相关函数操作
1.判断表达式类型:whattype(a)
2.返回列表中表达式的序列:op(a)
3.测试一个表达式是否为列表的成员:member(表达式,列表名)
或has(列表名,表达式)
4.列表所含元素数量:numelems(列表名)
a := seq(2*i + 1, i = 1 .. 5);#生成一个序列
a := 3, 5, 7, 9, 11
b:=[1,2,3,1]
whattype(a);w