描述:
调用网格文件,将执行程序后return的结果集生成游标返回
语法:
cursor(dfx,…)
备注:
调用网格文件,将执行程序后return的结果集生成游标返回。dfx中有多个return时,先合并多个return的结果集,再将合并后的结果集返回成游标,dfx中所有的return的结果集必须具有相同的数据结构,否则报错。
查找dfx时可以使用绝对路径,也可以使用相对路径,相对路径时的搜索顺序为类路径-寻址路径-主目录。
参数:
dfx |
网格文件名称 |
… |
dfx的参数 |
选项:
@c |
dfx可以是单元格,对应由func定义的子程序 |
返回值:
游标
示例:
主目录下test.dfx网格文件内容如下,arg1为网格参数:
|
A |
B |
|
1 |
for arg1 |
|
|
2 |
|
=connect("demo").query("select * from GYMNASTICSWOMEN where ID=?",A1) |
|
3 |
|
=B2.derive(avg(VAULT,UNEVENBARS,BALANCEBEAM,FLOOR):Average) |
|
4 |
|
return B3 |
循环计算并return结果集 |
|
A |
|
1 |
=[5,10,20,25] |
|
2 |
=cursor("test.dfx",A1) |
调用test.dfx,将A1中的序列作为参数arg1的值传递进去,结果返回游标。 |
3 |
=A2.fetch() |
从游标中获取记录,可以看到,结果为test.dfx中各次循环计算后return的结果集的并集。 |
4 |
=call("test.dfx",A1) |
对比使用call函数调用test.dfx,最终只返回第一次循环中return的结果集 |
|
A |
B |
|
1 |
func |
|
|
2 |
|
return A1.sum() |
|
3 |
=cursor@c(A1,[2,5,7]) |
|
调用以A1为主格的代码块 |
4 |
=A3.fetch() |
|
14 |