function ... end function 

ユーザ定義関数を作成します。関数とはプログラムで複数箇所で頻繁に使われる命令手順です。

文法:
function name ( parmlist {...} )
    shared variable {, ..}
    dim variable {, ...}
    commands
    {exit function}
    {return function}
    { functionName = expression }
end function

name はユーザ定義関数名です。先頭は数字文字以外の英数文字列で必ず記述してください。例えば、 1printString は違法であるのに対して printString1 は合法です。
args は関数へ引数を渡すのに使われる変数の定義です。
{,...} を指定すると可変長引数を関数で扱います。

関数の内側で使われる変数はローカル変数であるため、メインプログラムやほかの関数で同名変数を偶然使われたとしても外部の同名変数には影響を与えません。これは配列にも該当します。詳しい情報は common ステートメントを参照してください。
関数本体で処理した情報の内容をパラメータのリストとして関数へ渡せます。パラメータの入力が不要な関数は括弧を付けずにメインプログラムから呼び出せます。
オプションとして、関数は return ステートメントで指定された値を返せます。命令の呼び出しで返された値は破棄できます。この場合、関数の動作はサブルーチンと同じです。

用例:
function myFunction(a,b)
    return a*b
end function
print myFunction(10,4)
print myFunction(3,5)
print myFunction(7,8)

必要であればオプションの args を併用できます。引数の総数を取得するには argument() を呼び出します。また、 argument(n) 関数は呼び出し元から渡された特定の引数を返します。


用例:
' sum として args が渡されます
function sumNumbers( a )
    total = 0
    for i = 1 to argument()    
        total = total + argument( i )
    end for
    return sum
end function

shared , dim , exit function および return コマンドを参照してください。