ユーザー定義関数(返値が1つだけあるユーザー定義命令)を定義する。
- DEF~ENDまでが定義範囲となる。
- DEF~END範囲で定義された変数やラベルはDEF外から使用できない(ローカル変数)。
- DEF~END範囲をまたがったGOTO,GOSUBはできない。
- COMMON を付けることで定義したプログラムスロット外から使用可能な命令を定義できる。
書式
DEF 関数名([引数[,引数…]])
返値
結果として呼び出し側に返したい値は、DEF~END内でRETURN命令を使用して設定する(RETURN ANS のような記述)
引き数
定義名
ユーザー定義命令の命令名
引数
関数に渡したい引数があれば必要な分の引数名をカンマで区切って指定する
- ここで指定した引数名はDEF~END内で変数として使用できる。
サンプル・参考動画
'足し算
DEF ADD(X,Y)
RETURN X+Y
END
' 再帰を使った階乗計算
DEF FACTORIAL(N)
IF N==1 THEN RETURN N
RETURN N*FACTORIAL(N-1)
END
' 文字列反転
DEF REVERSE$(T$)
VAR A$="" 'ローカル文字列
VAR L=LEN(T$) 'ローカル
WHILE L>0
A$=A$+MID$(T$,L-1,1)
DEC L
WEND
RETURN A$
END
' 呼び出し
PRINT ADD(10,5)
PRINT FACTORIAL(4)
PRINT REVERSE$("BASIC")
コメント