本章介绍conj()的多种用法。
描述:
对含有序列作为成员的序列进行和列
语法:
A.conj(x)
备注:
对含有序列作为成员的序列A进行和列计算,使得他们成为一个序列。有参数x时,循环计算x后再进行和列计算。
选项:
@r |
递归计算到所有成员不再是序列为止 |
参数:
A |
成员为序列的序列 |
x |
表达式,返回结果为序列 |
返回值:
序列A和列后生成的新序列
示例:
|
A |
|
1 |
=[[1,2,3],[4,5,6]].conj() |
[1,2,3,4,5,6] |
2 |
=[[1,[2,3]],[2,5,6]].conj() |
[1,[2,3],2,5,6] |
3 |
=[[1,2,3],[3],[7]].conj() |
[1,2,3,3,7] |
4 |
=[[1,[2,3]],[2,5,6]].conj@r() |
[1,2,3,2,5,6] |
=demo.query("select * from EMPLOYEE where GENDER = 'M' order by NAME") |
|
|
6 |
=demo.query("select * from EMPLOYEE where GENDER = 'F' order by NAME") |
|
7 |
=[A5,A6].conj(~.(NAME)) |
[Rebecca,Ashley,…]A1,A2的NAME合成一个序列 |
相关概念:
描述:
拆分管道中的记录后将拆分结果的并集返回成管道。
语法:
ch.conj(…)
备注:
根据表达式…,用管道ch中的记录执行运算,将每一条记录拆分为序列或排列,并取得拆分结果中的成员或记录的并集,返回成管道。
该函数属于附加计算动作。
参数:
ch |
管道 |
… |
返回排列(序表)的表达式 |
返回值:
管道
示例:
|
A |
|
1 |
=demo.cursor("select * from GYMNASTICSWOMEN") |
GYMNASTICSWOMEN表内容如上图 |
2 |
=channel() |
创建管道 |
3 |
=A2.conj(create(ID,NAME,COUNTRY,SUBJECT,SCORES).record([ID,NAME,COUNTRY,"VAULT",VAULT,ID,NAME,COUNTRY, "UNEVENBARS",UNEVENBARS, ID,NAME,COUNTRY,"BALANCEBEAM",BALANCEBEAM,ID,NAME, COUNTRY,"FLOOR",FLOOR])) |
将A2管道中的记录拆分成序列,并将拆分后记录的并集返回成管道 |
3 |
=A2.fetch() |
A2管道附加结果集函数ch.fetch(),保留管道当前数据 |
4 |
=A1.push(A2) |
将游标A1中的数据推送至管道,但此时数据并不会立即进入到管道。A1执行fetch()时程序才会执行管道中的计算,游标中的数据才真正被推送到管道。 |
5 |
=A1.fetch() |
|
6 |
=A2.result() |
|
描述:
拆分游标中的记录并将拆分结果进行并集,返回原游标。
语法:
cs.conj(…)
备注:
根据表达式…,用游标cs中的记录执行运算,将每一条记录拆分为序列或排列,并将拆分结果中的成员或记录并在一起,返回原游标,支持多路游标。
参数:
cs |
游标 |
… |
返回排列(序表)的表达式 |
返回值:
原游标cs
示例:
|
A |
|
1 |
=demo.cursor("select * from GYMNASTICSWOMEN") |
GYMNASTICSWOMEN表内容如上图 |
2 |
=A1.conj(create(ID,NAME,COUNTRY,SUBJECT,SCORES).record([ID,NAME,COUNTRY,"VAULT",VAULT,ID,NAME,COUNTRY, "UNEVENBARS",UNEVENBARS,ID,NAME,COUNTRY, "BALANCEBEAM",BALANCEBEAM,ID,NAME,COUNTRY,"FLOOR",FLOOR])) |
|
3 |
=A2.fetch() |
|