一.函数的定义
1.定义函数:
<1>函数体可以用” {}”,也可以用”begin end”。
function 函数名字(形参,形参2,...) {/begin
return 返回值,返回值2,... ;
}/end
<2>函数可以赋值给成员变量、具名常量。
函数名字=function (形参,形参2,...) {/begin
return 返回值,返回值2,... ;
}/end
<3>局部函数只要在前面加上 var
二.定义成员函数
定义成员函数的语法:
tab={};
tab.函数名字=function(形参列表){
}
也可以这样定义成员函数
tab={};
function tab.函数名字(形参列表){
}
调用成员函数
tab.函数名字(参数列表);
三.函数参数
1.可变参数:
在函数定义的形参列表尾部,可以用三个连续的圆点表示可变参数,可变参数必须是最后一个参数:
io.open()
func=function(a,b,...){
var arg={...}
io.print(#arg+"个参数");
}
func(1,2,3,4,5);
2.在形参中指定默认值参数
实参可以省略,省略的实参传递null空值。在函数定义的形参列表中,可以为任何参数指定默认值。
io.open();
function func(a,b=2,c,d=4){
print(a,b,c,d);
}
func(1,,3,4);
四.owner参数
1.成员函数的owner参数
在成员函数内部可以使用owner参数获取当前的调用该函数的主体对象。例如,执行tab.func()时,tab.func内部的owner参数指向tab。
io.open()
func=function(){
io.print(owner.name," adopt me");
}
tab={}
tab.name="i am tab"
tab.say=func
tab.say()
2.AAuto代码文件的owner参数
一个独立的aau代码文件也是一个匿名的函数,当一个aau文件以下方式执行时,owner参数为代码文件的路径。
- 独立运行的aau代码文件,并且该文件不在当前打开的工程目录内
- 使用import语句加载的aau文件、dll文件可以获取owenr参数