conj()

阅读(867) 标签: conj,

本章介绍conj()的多种用法。

A.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]

5

=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,A2NAME合成一个序列

相关概念:

A.union()

A.diff()

A.isect()

ch.conj()

描述:

拆分管道中的记录后将拆分结果的并集返回成管道。

语法:

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.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()