Flash Lit1.1で2次元配列の実装

とあるFlashを作ったときに実装した関数です。
汎用的だと思っているので、メモっておきます。

関数フレームに下記のソースを記述

get_ar_ret_1 = "";
tmp = eval( get_ar_args_index add get_ar_args_name );
if( mblength( tmp ) > 0 ) {
	tmp_cnt = 1;
	for( n = 1; n < mblength( tmp ); n ++ ){
		if( mbsubstring( tmp, n, 1 ) eq "/" ){
			if( tmp_cnt == get_ar_args_node ) break;
			tmp_cnt ++;
			get_ar_ret_1 = "";
		} else {
			get_ar_ret_1 = get_ar_ret_1 add mbsubstring( tmp, n, 1 );
		}
	}
}

関数フレーム名を"get_ar"1とすると使用するときは

ar_1="26/57/25/56/26/57/27/58/29/59/30/60/22/";
ar_2="31/2/30/1/31/2/32/3/34/4/35/5/32/";
ar_3="36/7/36/7/37/8/38/9/40/10/41/11/55/";
ar_4="42/13/41/12/42/13/43/14/45/15/46/16/66/";
ar_5="47/18/46/17/47/18/48/19/50/20/51/21/77/";
ar_6="52/23/51/22/52/23/53/24/55/25/56/26/88/";

//配列変数名
get_ar_args_index = "ar_";
//1次元目のインデックス
get_ar_args_name = 2;
//2時限目のインデックス
get_ar_args_node = 3;
//上記の場合だと "ar_2" 配列の3番目の要素を取得
//結果は30となる
call( "get_ar" );
//結果取得
ret = get_ar_ret_1;