Help Center›FreeBASIC
__FB_JOIN__keyword
Intrinsic define (macro) performed by the compiler.
Syntax
__FB_JOIN__( arg1, arg2 )
Parameters
| Name | Description | |
|---|---|---|
arg1 | , | |
arg2 | left (1) and right (2) arguments to join |
Description
Joins two token arguments together as one, similar to token pasting operator (
##) but more powerfull (will resolve arguments before joining).Remarks
Version
- Since fbc 1.08.0
Differences from QB
- New to FreeBASIC
See also
Example
#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
'/
Reference
- Documented in KeyPgDdfbjoin.html