call()

阅读(2841) 标签: 网格文件, 第一个结果集,

描述:

调用脚本文件,返回第一个结果集。

语法:

call(spl,arg1,…)

备注:

调用脚本文件spl传入参数值arg1,,返回第一个return值后关闭。

参数值arg1,将按顺序传入脚本文件spl的各参数中,与spl中的参数名无关。

查找spl文件时,相对路径搜索顺序为类路径 - 寻址路径 - 主目录,主目录缺省为当前目录。

参数:

spl

.dfx/.splx/.spl格式的脚本文件或脚本文件对象。

arg1,

spl中传递的参数值。

选项:

@r

不使用缓存调用,缺省将使用缓存。

@n

重新产生一个新任务空间,并使用新线程执行,不等结果立即返回,通常用于执行定时任务或循环计算的脚本。

@f

执行spl并登记splfunc fn(…)形式的函数,call@f不可用于多线程。

@j

@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

  ca01.splx脚本文件内容如下,arg1为网格参数:

 

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

相关概念:

func fn()