トピック
Villit nakahara1226

省略可能引数

DEFで作った命令で省略可能引数を使うことは可能ですか?
2そうだね
プレイ済み
返信[1]
親投稿
できないっぽい
2そうだね
プレイ済み
返信[2]
親投稿
そうなんですよね、出来ないんですよね。 ほしいよねー・・
5そうだね
プレイ済み
返信[3]
親投稿
期待しているものと異なるとは思いますが、以下の条件を満たせば省略可能なようです。 1.「,」は、省略出来ない。 2.呼び元が省略した引き数をDEF-END内の処理ルートで使わない。 (命令または、省略しない引き数で省略した引き数が決まる。) 3.DEF-END内で設定しない戻りを呼び出し元で指定しない。 (命令または、省略しない引き数で省略した戻りが決まる。) 使い道は、限定されますが、命令名を文字列配列変数や文字列式で指定してCALL命令で呼び出すときに使えそうだと思います。(今のところ引数なしのCALLで間に合わせているので、まだ、実際に使った事はありません。そのうち使ってみようと思っています。)
3そうだね
プレイ済み
返信[4]
親投稿
MIKI ifconfig
まず、可変数個にしたいなら def f(v,n) ' v は配列、n は要素数 var i: for i = 0 to n - 1: ? format$("v[%d]=%f\n", i, v[i]): next end てな感じでいいのでは? 文字列は文字列で別の配列にする。 その上で、任意の要素を省略したいなら、特別な値(例えば nan を入れといて) if v[i]!=v[i] then ? format$("%d 番目の引数は省略されました",i+1) inf=pow(2,1024): nan=inf-inf v[0]=nan ? f(v,1) とする
2そうだね
プレイ済み
返信[5]
親投稿
Villit nakahara1226
ふむ... やはりおとなしく0乱打が無難ですかねえ。 ありがとうございました。
2そうだね
プレイ済み