函数
这条指令用于创建一个新的方法,它可以是本地的(仅限于声明它的那段代码),也可以是全局的(把它写入选项/全局函数中)。
与所有线性代码一样,函数的返回值取决于函数的最后一条指令(也就是 end 之前的那一条):
function InitB(initialValue : boolean) do
if initialValue then
"true"
else
"false"
end
end;
var b := InitB(true);
参数类型
可声明的各种参数类型包括:
text、number、date、datetime、time、timeinterval、appointment、boolean、html、color、icon、email、phone、location、file、user 以及 any。
把表名用作参数类型
也可以声明一个类型为表名的参数。此时,该参数可以当作该表的一条记录来使用:
function total(record : Invoice) do
record.'NET Total'
end;
total(first(select Invoice));
在函数中处理数组
不能把数组直接传给函数。不过,您可以为此使用一个 JSON 对象(any):
function myFunction(t : any) do
for i in t.array do
i
end
end;
var myArray := [1, 3, 5, 6];
myFunction({
array: myArray
});
