戻り値のない関数を定義します。戻り値のある関数を定義するにはFUNCTION-FENDを利用します。
- 構文
- PROCEDURE 関数名( 引数, Var 引数, 引数[ ], Var 引数[ ][ ], 引数 = 定数, … )
処理FEND
- 引数
- 引数 省略可
- 値渡し
- Var 引数 省略可
- 参照元の値が変更されます。参照引数。
- 引数[ ] 省略可
- 配列
- Var 引数[ ][ ] 省略可
- 二次元配列。参照引数。
- 引数 = 定数 省略可
- 関数の呼び出し時に省略された場合に使用されるデフォルト値(デフォルト引数)。
- 戻り値
引数
定義した関数が受け取る引数は仮引数と呼ばれ、その関数の中でのみ有効となります。参照引数にする場合は、変数の前に「Var 」をつけます。仮引数の変数名は、実引数と同じ名前である必要はありません。以下に引数の受け取り方を記述します。
値渡し
実引数(呼び出し元)の変数の値をコピーする渡し方です。実引数に影響を与えません。
DIM x = 10
PRINT x
func(x)
PRINT x
PROCEDURE func(x)
x = 20
FEND
- 結果
10 10
参照引数
仮引数でセットされた値が実引数にも影響します。
DIM x = 10
PRINT x
func(x)
PRINT x
PROCEDURE func(Var x)
x = 20
FEND
- 結果
10 20
配列
一次元配列
配列を受け取るときは変数名のあとに[ ](角括弧)をつけます。
DIM array[2] = 1, 2, 3
FOR item IN array
PRINT item
NEXT
PRINT "-----"
func(array)
FOR item IN array
PRINT item
NEXT
PROCEDURE func(array[])
array[0] = 5
array[1] = 6
array[2] = 7
FEND
- 結果
1 2 3 ----- 1 2 3
二次元配列
二次元配列を受け取るには変数名のあとに[ ](角括弧)を2つつけます。
PROCEDURE func(array[][])
デフォルト引数
引数が渡されなかった場合、仮引数には定数が代入されます。
func(3)
func()
PROCEDURE func(x = 5)
PRINT x
FEND
- 結果
3 5
この記事は役に立ちましたか?
ご協力ありがとうございます。