集算器之二:序列

序列:一些数据构成的有序集合。相当于高级语言中的数组。

成员:构成序列的数据成员。

序列常数:将成员用[]括起来即可表示序列常数。在序列常数中可以引用单元格,并可用冒号表示一片单元格区域,取区域时单元格值先行后列排列,如[1,A1,C1:F1,B2:C4]

成员取值和赋值

  1、A.len()  序列A的成员个数

  2、A(i)  取出第i格成员值

  3、A(i)=x  对成员赋值

  4、A.m(i)  取出第i个成员值,i<0时从逆序取

数列:由自然数构成的序列

  to(a,b)  产生从a到b之间自然数的数列,包括a,b本身

  to(n)  to(1,n)的简写形式

子列:由序列A的成员构成的序列称为子列

  A(p)  [A(p(1)),A(p(2)),......],用位置数列p获得A的子列

  A.m(p)  [A.m(p(1)),A.m(p(2)),......],p中可以有负数

  A.dup()  A(to(A.len())),即复制A

  a.rvs()  A(to(A.len(),1),即反转A

双目运算:

  A|B  和列,简单连接起来。

  A&B  并列,去除B中已在A中出现的成员。

  A^B  交列,A与B的交集

  A\B  差列,在A中但未在B中出现的成员

  k*A  A|...|A,k个A  做和列,即将A复制k遍

对位四则运算:长度相同两个数值构成的序列可按成员进行对位计算,返回序列。

  A++B  [A(1)+B(1),A(2)+B(2),......]

  A--B  [A(1)-B(1),A(2)-B(2),......]

  A**B  [A(1)*B(1),A(2)*B(2),.....]

  A//B  [A(1)/B(1),A(2)/B(2),......]

  A%%B  [A(1)%B(1),A(2)%B(2),.....]

序列比较:

  comp(A,B)对位比较序列大小,遇到第一个不等成员时根据大小分别返回1或-1,A与B全等则返回0

  简写形式:A==B  A!=B  A>=B  A<=B  A>B  A<B

字符串拆分和合并

  s.array()  将字串s拆分成序列,自动识别数据类型

  A.string()  将序列A拼接成字串,自动处理数据类型

函数选项

  s.array@s()  拆分时不再自动处理数据类型,全部拆成字串

  A.string@d()  拼接时不再为字串加引号

  函数选项写在函数名和左括号之前,与函数名之间用@分隔,函数有多个选项时可都写上,选项之间没有次序。

聚合计算:

  A.count()  非空成员计数,和A.len()不同

  A.sun()  求和

  A.avg()  平均

  A.,min()  最大

  A.max()  最小

案列:

  1、名单统计

    

  2、裁判打分

    (1)

    

  

 

  

 

 

posted on 2013-09-02 12:30  大钢  阅读(196)  评论(0编辑  收藏  举报

导航