なるほど、概ね何をされたいのかは理解できました。
ありがとうございます。
別の言語でやるように、
コンストラクタに new Integer[1,2,3] を引数として渡したい。
という意味での質問文だったのですね。
例えるなら、下記のイメージですよね。
CreateSprite(new int[] {1,2,3,2,3})
> 一つのスプライトの生成を1行のみで納めたかったんです。
すみませんが、僕のレベルでは「文字列で渡して、受け取った側で splite する」しか思いつきません。
少し強引で堅牢性のない組み方になってしまいますが、自分専用のモジュールなのであればいかがでしょうか?
#module _SPRITE_
#deffunc MakeSprite str p1
// split で扱えるように変数化
sdim str_data
str_data = p1
// データを配列に分割
dim data
splitint str_data, ",", data
// テスト描画
pos 0, 0
repeat length(data): i=cnt
mes ""+data(i)+" : vartype = "+vartype(data(i))
loop
return
// [local] split 命令の int 版 (簡易版なので第 4 以降のパラメータは指定不可)
#deffunc local splitint str _text, str _separator, array put, local mid
sdim put: index = 0: text = _text: separator = _separator
repeat: i=cnt
mid = instr(text, , separator)
if( mid < 0 ){
ret = cnt
break
}
put(cnt) = int(strmid(text, 0, mid))
text = strmid(text, mid+strlen(separator), strlen(text))
loop
put(ret) = int(text)
return ret+1
#global
MakeSprite "1,2,3,2,3,1"