モジュール配列の自動拡張

int配列版→ http://codetter.com/?p=1184

int配列版→ http://codetter.com/?p=1184

  • タグ:
  • タグはありません
// モジュール配列の自動拡張のテスト

#module
#deffunc func var p
	return
#global

#module testmod q
#modinit int r
	q = r
	mes "### newmod " + q
	return

#modterm
	mes "### delmod " + q
	return
#global


	// 実験用に5つほど作成
	newmod test, testmod, 0
	newmod test, testmod, 1
	newmod test, testmod, 2
	newmod test, testmod, 3
	newmod test, testmod, 4
	
	// 初期状態の要素数を確認
	mes "length(test) = " + length(test)
	
	
	// 領域外の添字の要素に対してdelmod
	mes
	mes "delmod test(123)"
	delmod test(123)
	mes "length(test) = " + length(test)
	
	// 領域外の添字の要素に対してvaruse
	mes
	mes "varuse(test(234)) = " + varuse(test(234))
	mes "length(test) = " + length(test)
	
	// ユーザー定義関数に領域外の添字の要素を渡す
	mes
	mes "func test(345)"
	func test(345)
	mes "length(test) = " + length(test)
	
	// 領域外の添字の要素に対してvarptr
	mes
	mes "varptr(test(456)) = " + varptr(test(456))
	mes "length(test) = " + length(test)
	
	// 適当な変数を領域外の添字の要素のクローンにする
	mes
	mes "dup a, test(567)"
	dup a, test(567)
	mes "length(test) = " + length(test)
	
	// 適当な変数に領域外の添字の要素を代入する
	mes
	mes "b = test(678)"
	b = test(678)
	mes "length(test) = " + length(test)
	// これはエラー