Intrinsic define (macro) performed by the compiler.
Syntax
__FB_ARG_EXTRACT__( index, args... )
Parameters
index
zero-based offset from the first argument (zero or positive integer value)
args...
argument list
Description
Returns the argument from the argument list (args...) corresponding to the index value (index).
If the requested index value refers to an argument that does not exist in the supplied argument list (index value too large), nothing is returned.
Example
#print __FB_ARG_EXTRACT__( 1, 7, 89.78, "Postman" )
/' Compiler output:
89.78
'/
' In this example, the '__FB_EVAL__' is absolutely mandatory in this 'print_last' macro,
' because the numeric expression '__FB_ARG_COUNT__( args ) - 1' must be fully evaluated
' before being used as the index argument of '__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
'/
Version
Differences from QB
See also