関数

プログラムの開発期間中、プログラムの特定部分で同一命令手順を何度も書くことが求められる場合があります。そのような場合、 sdlBasic には命令手順を一度書くだけでプログラム全体から必要なときに再呼び出しが可能になる機能があります。
関数の内側で使われる変数はローカル変数であるため、メインプログラムやほかの関数で同名変数を偶然使われたとしても外部の同名変数には影響を与えません。これは配列にも該当します。
詳しい情報は Global, Shared, Dim, Common ステートメントを参照してください。
関数本体で処理した情報の内容をパラメータのリストとして関数へ渡せます。パラメータの入力が不要な関数は括弧を付けずにメインプログラムから呼び出せます。オプションとして、関数は Return ステートメントで指定された値を返せます。
sdlBasic は C から return ステートメントを借用しています。加えて、標準的な方法で関数から値を返せます。

function add( a, b )
    add = a + b
end function

こう書くこともできます。

function add( a, b )
    Return a + b
end function

sdlBasic は return ステートメントが実行された時点で関数を終了します。

以下のステートメントで関数を呼び出せます。

newSumm= add( 3, 4)

この用例では、関数の返値を newSumm 変数へ 7 を代入します。
関数の結果を破棄すると、サブルーチンと同じものとして扱われます。

' Len() の返値を破棄
len("123")

の返値は破棄されます。

関数名はプログラムの同一スコープ内で使われている変数、または配列と同名にできません。つまり、以下のコードは使えません。

myVariable = 1
function myVariable()
    ...
end function

ただし、このコードは使えます。

function myFuntion()
    myVariable=1
end function

function myVariable()
    ...
end function