__FB_ARG_EXTRACT__
 
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

  • Since fbc 1.08.0

Differences from QB

  • New to FreeBASIC

See also