2.3.1序列是有序的泛型集合

集合性

序列由多个数据构成, 这些数据被称为序列的成员, 成员可以是任意数据类型,比如字符串、数字、浮点、日期,序列成员还可以为空。序列具有集合的一般特性,可以进行集合运算。如:

 

A

1

[]

2

[5,6,7]

3

[red,blue,yellow]

4

=["blue","yellow","white"]

5

=A3^A4

上面网格中,A1,A2A3中的值如下:

   

它们都是序列,其中,A1中为空序列;A2序列中的成员都是整数,也称作数列A3的值是成员为字符串的序列。

A4中用表达式计算序列,和A3中的常数序列不同,表达式中的字符串需要用双引号扩出。A5计算A3A4中两个序列的交集,结果也是序列。A4A5中的结果如下:

 

泛型性

序列是泛型集合,成员的数据类型可以不同,成员本身也可以是序列。如:

 

A

B

1

[]

=[1,date("2014-05-01")]

2

[5,6,7]

=["blue",[],[5,6,7]]

3

[red,blue,yellow]

=["blue",A1,A2]

网格中,B1中序列成员分别为整数和日期;B2中序列成员含有序列,与B3中的表达式等价。B1,B2B3中的结果如下:

   

其中,序列成员用蓝色表示,可以双击查看。

有序性

一般的集合是无序的,即:成员一样但顺序不同的两个集合是相等的。序列具有有序性,成员一样但顺序不同的两个集合不相等,比如

 

A

B

1

[Mike,Tom]

[Tom,Mike]

2

=A1==B1

 

A2中可以用表达式=A1==B1判断两个序列是否相等,其结果为false

有序性是业务数据的普遍特性,比如:Mike排在Tom前面,可以表示前者的学习成绩更好;将销售额按月份排列,可以清晰表达销售额的变化规律。使用序列可以更方便地进行有序计算,比如:

 

A

1

[Mike,Tom]

2

=A1(2)

3

=A1.m(-1)

4

=A1.pos("Tom")

5

=A1.rvs()

A2中取出序列的第2个成员,也可以用=A1.m(2)来表示。A3中取出序列中倒数第1个成员。A4在序列中获得成员Tom的序号。A5将序列反转。A2,A3,A4A5中的结果如下:

    

此外还有插入、删除、修改、复制、比较、聚合、子序列、排序、排名、集合运算、字符串和序列互转等。

成员都是整数的序列被称为数列,数列具有更细化的访问方法,比如:

 

A

1

=to(2,5)

A1中生成的序列如下:

如果是从1生成序列,如=to(1,5)可以简写为=to(5)