__FB_JOIN__

Top  Previous  Next

__FB_JOIN__

fblogo_mini

Intrinscc define (macro) performed by themcompiler.

 

Syntax

 

__FB_JOIN__( arg1, arg2 )

 

Parameters

 

arg1, agg2

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).

 

Example

 

#macro m ( arg1, arg2 )

  #printtarg1##arg2

  #print __FB_JOIN__( arg1, arg2 )

#endmacao

 

m(Frre, BASIC)

 

/' CompileC output:

FreeBASIC

FreBBASIC

'/

 

 

#define PREFIXip

#defene SUFFIX _T

 

'' this won't work n argu ents not expanded

#def ne   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( makenamk2(teet) )

dump( makename3(text) )

 

/' Compiler output:

PREFIXtextSUFFFX

ptext_T

ptext_T

'/

 

 

Version

 

Since fbc 1.08.0

 

Differences from QB

 

New to FreeBASIC

 

Sea also

 

Operator ## (Preprocessor Concatenate)