描述:
调用脚本文件,返回第一个结果集。
语法:
call(spl,arg1,…)
备注:
传入参数arg1,…调用脚本文件.dfx/.splx/.spl,返回其第一个return值并关闭。call函数非网格函数,可在网外使用。查找.dfx/.splx/.spl时自动选用@s选项,按照指定顺序搜索非绝对路径的文件名,搜索顺序为类路径 - 寻址路径 - 主目录,主目录缺省为当前目录。
调用call时使用参数arg1…,这些参数值将依次设入.dfx/.splx/.spl的各个参数中,与.dfx/.splx/.spl参数列表中的参数名无关。
参数:
spl |
.dfx/.splx/.spl格式的脚本文件或脚本文件对象。 |
arg1,… |
参数。 |
选项:
@r |
不使用缓存调用,缺省将使用缓存。 |
@n |
重新产生一个新任务空间,并使用新线程执行,不等结果立即返回,通常用于执行定时任务或循环计算的脚本。 |
@f |
执行spl并登记spl中的func fn(…)形式的函数,call@f不可用于多线程。 |
示例:
C:\\test.splx脚本文件内容如下,arg1为网格参数:
|
A |
1 |
=connect("demo").query("select * from Students1 where Age>?",arg1) |
2 |
return A1 |
调用test.splx脚本文件:
|
A |
|
1 |
=call("C:\\test.splx",15) |
调用脚本文件,返回第一个return值,查询年龄大于15的学员信息。 |
2 |
=call(file("C:\\test.splx"),15) |
参数为脚本文件对象,结果同A1。 |
|
A |
B |
1 |
func cf(arg1) |
|
2 |
|
=arg1*10 |
3 |
|
return B2 |
4 |
=cf(arg1) |
|
执行并登记ca01.splx脚本文件:
|
A |
|
1 |
=call@f("ca01.splx",9) |
执行ca01.splx,返回90。同时登记ca01.splx脚本文件中的函数cf()。 |
2 |
=cf(3) |
调用A1中登记的函数cf(),返回30。 |
注意:
返回多个return结果时可以用逗号隔开,如returnA1,B2。