FB_JOIN
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgDdfbjoin
- 最后更新: 2021-10-11
编译器执行的内置定义(宏)。
语法
` FB_JOIN( arg1, arg2 )
`
参数
arg1、arg2
要拼接的左(1)和右(2)参数
描述
将两个标记参数拼接为一个,类似于标记粘贴运算符(##),但功能更强大(会在拼接前先展开参数)。
示例
start GeSHi
vb
#macro m ( arg1, arg2 )
#print arg1##arg2
#print __FB_JOIN__( arg1, arg2 )
#endmacro
m(Free, BASIC)
/' Compiler output:
FreeBASIC
FreeBASIC
'/end GeSHi
start GeSHi
vb
#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
'/end GeSHi
版本
- 自 fbc 1.08.0 起
与 QB 的区别
- FreeBASIC 新增
另请参阅
运算符 ## (预处理器连接)
返回 目录