描述:
将.dfx/.splx/.spl文件登记为函数。
语法:
register(f,spl)
备注:
登记spl文件为函数f,之后该函数便可以在网格脚本中使用,函数表达式写法为:f(xi,...),其中xi,...为脚本文件中的参数,多个参数间用逗号分隔。
函数名重复登记时将以最后一次登记内容为准。
register不支持在线程中使用。
参数:
f |
函数名称。 |
spl |
脚本文件.dfx/.splx/.spl文件路径,可以是绝对路径,也可以是相对路径,使用相对路径时相对于主目录。 |
选项:
@o |
使用@o选项登记的函数,调用式中f@o中的o被作为spl的第一个(字符串)参数,调用式中没有指定选项时则认为第一个(字符串)参数传递为空值。 |
@j |
登记到任务空间,缺省登记进全程空间。 |
返回值:
脚本文件的执行结果
emp.splx内容如下,其中arg1与arg2为网格参数:
|
A |
1 |
=connect("demo") |
2 |
=A1.query("select EID,NAME,DEPT,GENDER,SALARY from employee where DEPT=? and GENDER=?",arg1,arg2) |
3 |
return A2 |
登记emp.splx为函数后调用:
|
A |
|
1 |
=register("df1","D:/emp.splx") |
将emp.splx登记为函数,函数名称为df1。 |
2 |
=df1("HR","M") |
调用登记过的函数,并传递参数值: |
emp2.splx内容如下,其中opt与arg2为网格参数:
|
A |
B |
1 |
if opt=="z" |
>opt="order by SALARY desc" |
2 |
else if opt=="a" |
>opt="order by SALARY" |
3 |
="select EID,NAME,GENDER,SALARY from employee where GENDER=? "+opt |
|
4 |
=connect("demo").query(A3,arg2) |
|
登记时使用@o选项:
|
A |
|
1 |
=register@o("df2","D:/emp2.splx") |
使用@o方式登记emp2.splx为函数,函数名称为df2; df2函数支持使用@z、@a选项,@z表示根据SALARY降序排序,@a表示根据SALARY升序排序,选项缺省时不排序。 |
2 |
=df2@z("F") |
调用df2函数,使用@z选项,结果根据SALARY降序排序; 执行计算时emp2.splx中第一个字符串参数即opt的值为z,参数arg2值为F,返回结果如下: |
3 |
=df2@a("M") |
调用df2函数,使用@a选项,结果根据SALARY降序排序; 执行计算时emp2.splx中第一个字符串参数即opt的值为a,参数arg2值为M,返回结果如下: |
4 |
=df2("M") |
调用df2函数,选项省略时不排序; 执行计算时emp2.splx中第一个字符串参数即opt的值为空,参数arg2值为M,返回结果如下: |