コンパイラーによって実行される固有の定義(マクロ)。
構文:
__FB_JOIN__( arg1, arg2
)
パラメータ:
arg1,
arg2
結合する、左(1)と右(2)の引数
記述:
2つのトークン引数を 1つに結合します。
トークン貼り付け演算子 (
##) に似ていますが、より強力です。(結合する前に引数を解決します)
例:
#macro m ( arg1, arg2 )
#print arg1##arg2
#print
__FB_JOIN__( arg1, arg2 )
#endmacro
m(Free, BASIC)
/' Compiler output:
FreeBASIC
FreeBASIC
'/
#define PREFIX p
#define SUFFIX _T
'' this won't work - arguments not expanded
#define
makename1( x )
PREFIX##x##SUFFIX
'' this will work - can do this
in older versions of fbc too
#define join( a,
b ) a##b
#define makename2(
x ) join( PREFIX, join( x, SUFFIX ) )
'' built in __FB_JOIN__() -- works
pretty much like join() above
#define makename3(
x ) __FB_JOIN__( PREFIX,
__FB_JOIN__( x, SUFFIX ) )
#macro dump( arg )
#print #arg
#endmacro
dump( makename1(text) )
dump( makename2(text) )
dump( makename3(text) )
/'
Compiler output:
PREFIXtextSUFFIX
ptext_T
ptext_T
'/
バージョン:
QBからの違い:
参照: