ポク太郎です。
昔使った開発環境にあった関数で便利なものを移植。
配列変数A[0]、A[1]、A[2]、A[3]、A[4]、A[5]
とあった場合、その最大要素番号5を返す関数です。
配列の最大要素番号を返す自作関数
FUNCTION ubound(d[])
RESULT=LENGTH(d)-1
FEND
1,3行目 | 1 3 |
FUNCTION ubound(d[]) FEND |
ubound(d[])関数宣言:配列の最大要素番号を返す関数。 | ||
2行目 | 2 | RESULT=LENGTH(d)–1 |
通常はメインプログラム中に、 for i=0 to LENGTH(A)-1 next と当たり前のように書きますが、「あれ?この言語って1引くんだったっけ?」と分からなくなり調べるのが面倒なので関数にしておくと便利。 本関数で対応するのは1次元配列だけです。 |
呼び出し側サンプル
呼び出し側からは、例えば、
FOR i=0 TO ubound(A)
IF A[i]=""
//ここに色んな命令を書く
ENDIF
NEXT
1,5行目 | 1 5 |
FOR i=0 TO ubound(A) NEXT |
配列Aの全要素番号をスキャンするループ命令。大抵の開発環境にあります。 for 変数=数1 to 数2 step 数3 next 変数を数1から数3づつ大きくしていって数2までnext文との間をループする命令。 |
||
2,4行目 | 2 4 |
IF A[i]=““ ENDIF |
配列Aのうち空白であるものを選び出す条件。 |
などとして、配列変数の中を順番に調べて判断したりするのに使います。
配列の最大要素を返す関数 | 関数の引数と戻値に配列変数 |
[参照渡し]配列の要素の削除と挿入・追加 |
本記事の内容は以下でした。
○配列の最大要素を返す関数
○配列の最大要素を返す関数
戻値(int)=ubound(ARRY)
コメント