描述:
对指定的记录计算表达式,返回计算结果。
语法:
| A.calc(k,x) | 在A的第k个成员上计算x。 | 
| A.calc(p,x) | 循环对数列p指定成员计算x。 | 
备注:
对指定的记录计算表达式,返回计算结果。
参数:
| A | 序列/排列。 | 
| x | 计算表达式,一般为字段名,或者由字段名组成的合法表达式,可使用~引用当前记录。 | 
| k | 整数,指定第几条记录。 | 
| p | 数列,指定哪几条记录。 | 
返回值:
x计算结果/x计算结果组成的序列
示例:
第k个成员计算x返回:
| 
 | A | 
 | 
| 1 | =[1,3,6,2,8] | 
 | 
| 2 | =A1.calc(3,~*2) | 对A1序列的第三个成员计算表达式“~*2”,~表示当前成员,因此返回表达式计算结果为12。 
 | 
对数列p指定的成员计算x返回:
| 
 | A | 
 | 
| 1 | =[1,3,6,2,8] | 
 | 
| 2 | =A1.calc([4,3],~*2) | 计算表达式“~*2”,对A1序列的第4和第3个成员分别计算表达式,返回结果为[4,12]。 | 
对序表计算:
| 
 | A | 
 | 
| 1 | =demo.query("select * from EMPLOYEE") | 返回序表: 
 | 
| 2 | =A1.calc(2,age(HIREDATE)+5) | 对第二条记录根据入职日期计算工龄。 | 
| 3 | =A1.calc(A1.pselect@a(DEPT=="Administration"), age(HIREDATE)+5) | 对DEPT为" Administration"的所有记录计算age(HIREDATE)+5,结果返回序列。 | 
