#modfunc
等のユーザー定義命令の引数の初期値を設定できる機能がほしいです。
現在自分 #define と local 指定のユーザー定義関数で 初期値を設定しているのですが。
それでは、スクリプトの可読性がかなり悪くなります。
#deffunc 等のユーザー定義命令は、自由に引数の位置を変えることが出来ますが。
#define では、それは難しいので、変更するたびに、窮屈で面倒な目に逢うことになります。
贅沢かも知れませんが、下の様な記述が出来るようなれば。
かなり、可読性が向上するような気がします。
// このスクリプトは一例です。実行するとErrorに成ります ; デフォルトの変数名を初期化 dim defaultvar@test , 5 defaultvar@test = 10,20,30,40,50 #module test #include "user32.as" #deffunc func int hwnd_ , int wid_ , str string_ , int x_ , int y_ , var buff_ #funcprm imposs hwnd_ // [ Impossible ] 省略不可能にする 省略された場合、引数は省略できません のエラーが起こる。 #funcprm imposs wid_ // [ Impossible ] 省略不可能にする 省略された場合、引数は省略できません のエラーが起こる。 #funcprm poss string_ = "hspwnd" // [ Possible ] 省略可能にする 文字列型のばあいdefault値を指定しないと必ずエラー #funcprm x_ = ginfo_winx // もし省略された場合 ginfo_winx が引数に渡された事に成る #funcprm y_ = ginfo_winy // もし省略された場合 ginfo_winy が引数に渡された事に成る #funcprm poss buff_ = defaultvar // [ Possible ] 省略可能にする 変数型のばあい default値を指定しないと必ずエラー // 何も指定しない場合defaultに成る。x_の場合は 0 よって、以前の記述も可能 dim m_status , length(buff_) memcpy m_status , buff_ , 4*length(buff_) m_size = x_ , y_ gsel wid_ : title string_ SetParent hwnd_ , hwnd return #global