NO_658_EDIT

まずはデータ構造作成からw
1block data です
ただの文字列配列と言えばそうなんですがw
文字列配列に操作をくっつけたという意味では
モジュールというくくりでいいのかな

#module one_block_data many_data
#modinit int p_size
	sdim many_data,100,p_size
	return
#modcfunc local get_data_length
	return length(many_data)
#modfunc local set_one_data int p_index,str p_str
	if p_index >= length(many_data):dialog "p_index is too big",1:return
	many_data.p_index=p_str
	return
#modcfunc local get_one_data int p_index
	if p_index >= length(many_data):dialog "p_index is too big",1:return -1
	return many_data.p_index
#modfunc local str_dump
	repeat length(many_data)
	logmes ""+cnt+":"+many_data.cnt
	loop
	return
#modfunc resize int p_size,local loc_length,local loc_array
	loc_length=length(many_data)
	sdim loc_array,100,loc_length
	repeat loc_length
	loc_array.cnt=many_data.cnt
	loop
	if loc_length > p_size {
		sdim many_data,100,p_size
		repeat p_size
		many_data.cnt = loc_array.cnt
		loop
	}else{
		sdim many_data,100,p_size
		repeat loc_length
		many_data.cnt = loc_array.cnt
		loop
	}
	return
#global
// TEST CODE
newmod block_obj_01,one_block_data,2
mes get_data_length@one_block_data(block_obj_01)
resize block_obj_01,1
mes get_data_length@one_block_data(block_obj_01)
newmod block_obj_02,one_block_data,3
mes get_data_length@one_block_data(block_obj_02)
resize block_obj_02,4
mes get_data_length@one_block_data(block_obj_02)
set_one_data@one_block_data block_obj_02,1,"a"
set_one_data@one_block_data block_obj_02,3,"b"
set_one_data@one_block_data block_obj_02,4,"c"
mes ""+get_one_data@one_block_data(block_obj_02,4)
str_dump@one_block_data block_obj_02
;モジュール命令 スペース オブジェクト名 "," 引数A "," 引数B・・・