コンパイラーによって実行される固有の定義(マクロ)。
構文:
__FB_ARG_EXTRACT__( index, args...
)
パラメータ:
index
最初の引数からの、ゼロベースのオフセット(ゼロまたは正の整数値)
args...
引数リスト
記述:
インデックス値(index) に対応する引数リスト(args...) から引数を返します。
要求されたインデックス値が、指定された引数リストに存在しない引数を参照している場合(インデックス値が大きすぎる)、何も返されません。
例:
#print __FB_ARG_EXTRACT__(
1, 7, 89.78, "Postman" )
/' Compiler
output:
89.78
'/
'
この例で、「__ FB_EVAL__」は、この「print_last」マクロでは絶対に必須です。
'
数値式 '__FB_ARG_COUNT__( args ) - 1' は、 '__ FB_ARG_EXTRACT__' の
'
インデックス引数として使う前に完全に評価する必要があるためです。
#macro print_last(
args... )
#define last_arg_num
__FB_EVAL__( __FB_ARG_COUNT__(
args ) - 1 )
#print __FB_ARG_EXTRACT__( last_arg_num, args )
#endmacro
print_last( 7, 89.78, "Postman" )
/'
Compiler output:
Postman
'/
バージョン:
QBからの違い:
参照: