コンパイラによって実行される組み込み定義 (マクロ)。
構文:
__FB_ARG_LISTEXPAND__( macroname, macroargcount, args... )
パラメータ:
macroname
拡張機能呼び出しに使われるマクロの名前
macroargcount
'macroname' マクロのパラメータの数
パラメータリスト 'args...' を 'macroargcount' の値に従って展開します:
- 'macroargcount > 0' : 毎回 'macroargcount' パラメータを渡す
- 'macroargcount = 0' : すべてのパラメータを渡す
- 'macroargcount < 0' : 渡された各パラメータについて、前の 'macroargcount' パラメータは次のパスで自動的に削除される
args...
引数リスト
記述:
macroargcount の値と args... リスト内の引数の数に応じて、1 つ以上の 'macroname( .... )' に展開します。
無効なインデックスの場合は、コンパイル エラーではなく空の文字列を返します。
例:
#macro m( arg... )
#print " "##arg
#endmacro
#print "macroargcount>0 (=1):"
__FB_ARG_LISTEXPAND__( m, 1, Hello1, Hello2, Hello3, Hello4)
#print " "
#print "macroargcount=0 (=0):"
__FB_ARG_LISTEXPAND__( m, 0, Hello1, Hello2, Hello3, Hello4)
#print " "
#print "macroargcount<0 (=-1):"
__FB_ARG_LISTEXPAND__( m, -1, Hello1, Hello2, Hello3, Hello4)
/' Compiler output:
macroargcount>0 (=1):
Hello1
Hello2
Hello3
Hello4
macroargcount=0 (=0):
Hello1, Hello2, Hello3, Hello4
macroargcount<0 (=-1):
Hello1, Hello2, Hello3, Hello4
Hello2, Hello3, Hello4
Hello3, Hello4
Hello4
'/
バージョン:
QBからの違い:
参照: