x.nodes@r(Fi,...)

阅读(52) 标签: 递归, 指引字段,

描述:

多层递归展开指引字段。

语法:

x.nodes@r(Fi,...)

备注:

多层递归展开x中的指引字段。

x是单值,返回空序列;

x是记录,如果Fi,…都是单值,返回x组成的序列,否则返回x.Fi.nodes@r(Fi,... )|...

x是序列/排列,返回x.conj(~.nodes@r(Fi,...))

Fi省略时遍历x的所有字段。

参数:

x

单值/序列/记录。

Fi

字段名称。

返回值:

序列

示例:

x为单值:

 

A

 

1

=rand(10)

返回10以内的随机值。

2

=A1.nodes@r()

返回[]

x为记录/序列:

 

A

 

1

=demo.query("select  * from DEPARTMENT").keys(DEPT)

返回序表内容:

2

=demo.query("select NAME,ABBR from STATES").keys(NAME)

返回序表内容:

3

=demo.query("select top 10 EID,NAME,DEPT,STATE from EMPLOYEE")

返回序表内容:

4

>A3.switch(DEPT,A1:DEPT)

A3中的DEPT字段值根据A1键值DEPT切换成指引字段。

5

>A3.switch(STATE,A2:NAME)

A3中的STATE字段值根据A2键值NAME切换成指引字段,A4A5执行成功后A3格的序列内容如下:

6

=A3.select@1(NAME=="Ashley")

计算A3NAME值为Ashley的第1条记录:

7

=A6.nodes@r(EID,NAME)

获取A6EIDNAME都为单值的记录,返回这些记录组成的序列:

8

=A6.nodes@r(DEPT,STATE)

获取A6DEPTSTATE都为单值的记录,返回这些记录组成的序列:

9

=A6.nodes@r(DEPT)

获取A6DEPT都为单值的记录,返回这些记录组成的序列:

10

=A3.nodes@r()

Fi省略,遍历A3的所有字段,获取A3所有字段都为单值的记录,返回这些记录组成的序列: