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