arrayMerge

第一引数の配列の末尾に第二引数の配列をマージ(追加)します。

構文
arrayMerge( Var arr[], tmp[] )
引数
arr
追加される配列(参照引数)
tmp
追加する配列
戻値
追加した後の配列の要素数

プログラム

//////////////////////////////////////////////////
// 【引数】
//   arr : 追加される配列(参照引数) 
//   tmp : 追加する配列 
// 【戻値】
//   追加した後の配列の要素数 
//////////////////////////////////////////////////
FUNCTION arrayMerge(Var arr[], tmp[])
	FOR n = 0 TO UBound(tmp)
		arrayPush(arr, tmp[n])
	NEXT
	RESULT = UBound(arr)
FEND

//////////////////////////////////////////////////
// 【引数】
//   array : 要素を追加する配列(参照引数) 
//   str : 追加する要素 
// 【戻値】
//   処理後の配列の中の要素の数 
//////////////////////////////////////////////////
FUNCTION arrayPush(var arr[], str)
	DIM res = RESIZE(arr, UBound(arr) + 1)
	arr[res] = str
	RESULT = res + 1
FEND

//////////////////////////////////////////////////
// 【引数】
//   配列 : 上限値を求める配列 
// 【戻値】
//   配列の上限値 
//////////////////////////////////////////////////
FUNCTION UBound(array[])
	RESULT = RESIZE(array)
FEND

解説

  1. 2-4行目
    	FOR n = 0 TO UBound(tmp)
    		arrayPush(arr, tmp[n])
    	NEXT
    配列tmpを配列arrの後ろに一つずつ追加していく。
  2. 5行目
    	RESULT = UBound(arr)
    配列のサイズを戻り値として返す。