register()

阅读(2387) 标签: dfx, 登记, 函数, call,

描述:

.dfx/.splx/.spl文件登记为函数。

语法:

register(f,spl)

备注:

登记spl文件为函数f,之后该函数便可以在网格脚本中使用,函数表达式写法为:f(xi,...),其中xi,...为脚本文件中的参数,多个参数间用逗号分隔。

函数名重复登记时将以最后一次登记内容为准。

  register不支持在线程中使用。

参数:

f

函数名称。

spl

脚本文件.dfx/.splx/.spl文件路径,可以是绝对路径,也可以是相对路径,使用相对路径时相对于主目录。

选项:

@o

使用@o选项登记的函数,调用式中f@o中的o被作为spl的第一个(字符串)参数,调用式中没有指定选项时则认为第一个(字符串)参数传递为空值。

返回值:

脚本文件的执行结果

示例:

emp.splx内容如下:

 

A

1

=connect("demo")

2

=A1.query("select * 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")

调用登记过的函数,并传递参数值:

  登记时使用@o选项:

 

A

 

1

=register@o("df2","D:/emp.splx")

使用@o选项将emp.splx登记为函数,函数名称为df2

2

=df2@HR("M")

调用@o方式登记过的函数,HR被作为参数arg1的值,返回结果如下:

3

=df2("HR","M")

由于df2是通过@o选项登记的,所以df2()表达式中选项省略时向第一个参数传递空值,返回结果为空序表。