Subrontines是经常使用的脚本,保存在公共位置以供重用,可以在里面写方法或代码段
使用方式1
创建一个Subrontine ,命名为“SubroutineTest”,在里面写上一个代码段和一个方法
println("into SubroutineTest") //加载时执行
//调用时执行
function sayHello(name,age)
{
println("大家好,我是"+name+",今年"+age+"岁")
}
创建一个Form,在Form的Functuions导入SubroutineTest,
importSubroutine("SubroutineTest")
然后再搞一个按钮,点击事件中写上
sayHello("张三",99)
启动Form,发现Form启动时直接执行了SubroutineTest中的代码段,输出如下:
点击按钮后,输出如下:
通常会将对某一对象操作的公共方法放在一起,创建一个Subroutine。比如系统中有许多Form都要对Excel进行操作,我们就可以将对Excel操作的方法放在一个subroutine中,起名为ExcelUtils.
使用方式2
创建SubroutineTest2,代码如下:
//调用时执行
function sayHello(name,age)
{
println("大家好,我是"+name+",今年"+age+"岁")
}
map = arg1
name = map.get("name")
age = map.get("age")
sayHello(name,age)
创建Form ,创建一个按钮,单击事件中写上
map =map()
map.put("name","lisi")
map.put("age",98)
subroutine("SubroutineTest2",map)
执行结果如下:
subroutine(java.lang.String name, java.lang.Object arg1)方法第一个参数为subroutine 的name,第二个参数为传递给subroutine的参数。
可以使用的方法还有以下几个
subroutine(java.lang.String name)
subroutine(java.lang.String name, java.lang.Object arg1, java.lang.Object arg2)
subroutine(java.lang.String name, java.lang.Object arg1, java.lang.Object arg2,java.lang.Object arg3)
subroutine(java.lang.String name, java.lang.Object arg1, java.lang.Object arg2,java.lang.Object arg3,java.lang.Object arg4)
需要注意的是
1、subroutine中获取传递过来的的参数时,是固定的arg1、arg2、arg3,
2、上面的例子中,我们调用了sayHello(name,age)方法,sayHello方法的声明也必须在执行之前声明。
其他
1、subroutine中可以引入其他java类,也可以引入其他subroutine。建议将公共方法归类的放在一起,不要毫无规则的创建subroutine。还需注意subroutine不要相互引用,比如A中引用了B,B又引用了A,此时就会出现死循环。
2、一些业务代码尽量在java中书写,在PD中查看代码极不方便,当代码量较多时,无论是查找还是分析都比较崩溃。