;変数(普通の)を取得/代入するモジュールを作ろうと思ったんですが ;ラベルの処理はどうなったか忘れたのでw ;復習を兼ねてコメント書いてみました #module mod_label i_name,i_ID,i_l_value ;i_nameラベル変数の名前 ;i_nameラベル変数のID ;i_nameラベル変数の値、コマンド番号を格納する(だったようなw) #modinit str p_name,int p_ID,int p_l_value i_name=p_name i_ID=p_ID i_l_value=p_l_value return ;モジュールのメンバ変数に値を代入。変数とか言って ;代入する命令がないので、定数を格納するかんじだったか、とりあえずで作ってほっといたかw #modcfunc local get_i_name return i_name #modcfunc local get_i_ID return i_ID #modcfunc local get_i_l_value return i_l_value ;getter #deffunc local x_label_init int sw_new_p,str _p_name,int _p_l_value ; global fv_ID if sw_new_p==1{ fv_ID=0 } newmod o_label,mod_label,_p_name,fv_ID,_p_l_value fv_ID++ return ;ラベルインスタンス作成 オブジェクト名(配列になる)モジュール名 ;インスタンスの名前(引数) ID(IDを作るたびに++引数で指定するわけではない) 値(引数)たぶんコマンド番号 #defcfunc local get_x_label_l_value str __p_name,int __p_ID,local r_name r_name=get_i_name@mod_label(o_label.__p_ID) ;IDが引数のインスタンスの名前を取得 if r_name!=__p_name:return -1 ;返ってきた名前が引数で指定した名前と異なったらエラー return get_i_l_value@mod_label(o_label.__p_ID) ;返ってきた名前と引数で指定した名前が等しい インスタンスの値(たぶんコマンド番号)を返す #global ;変数をIDだけでも名前だけで識別してるわけでもなく ;IDを渡して返ってきた名前と引数で指定した名前が等しい時 指定が正しい。としています ;IDだけだと間違いやすく ;名前だけだと検索するのに時間がかかるので ;取得はめんどくさいですが ;二つのやり方のいいとこどりとなっています
#なんか とりあえず出来て動いてそのままほったらかしぽw
#想像と現実の乖離みたいなw