conj()

阅读(1423) 标签: 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()

使用@r选项,递归计算到所欲偶成员不再是序列为止,返回结果:[1,2,3,2,5,6]

5

=demo.query("select EID,NAME,GENDER from EMPLOYEE where GENDER = 'M' and EID<15 order by NAME")

6

=demo.query("select EID,NAME,GENDER  from EMPLOYEE where GENDER = 'F' and EID<5 order by NAME")

7

=[A5,A6].conj(~.(NAME))

返回A5,A6NAME合成的序列:

相关概念:

A.union()

A.diff()

A.isect()

A.xunion()

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