函式

這道指令可用來建立新的方法,它可以是本機的(只限於宣告它的那段程式碼內使用),也可以是全域的(把它放進 Options/Global Functions 之中)。

和所有線性程式碼一樣,函式的回傳值取決於函式中的最後一道指令(也就是 end 前面那一道):

function InitB(initialValue : boolean) do
    if initialValue then
        "true"
    else
        "false"
    end
end;

var b := InitB(true);

參數型別

可以宣告的參數型別包括:
textnumberdatedatetimetimetimeintervalappointmentbooleanhtmlcoloriconemailphonelocationfileuser 以及 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
});