#author("2018-01-05T14:53:21+09:00","","")
[[簡単言語]]
**NO_590_DOC [#i8b21653]
 ;変数(普通の)を取得/代入するモジュールを作ろうと思ったんですが
 ;ラベルの処理はどうなったか忘れたので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