__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

- `__FB_ARG_LEFTOF__`
- `__FB_ARG_RIGHTOF__`
- `__FB_ARG_COUNT__`
- `__Fb_Arg_Listexpand__`