Help Center
Help CenterFreeBASIC

__FB_ARG_EXTRACT__keyword

Intrinsic define (macro) performed by the compiler.

Intrinsic Defineskeyworddocumented

Syntax

__FB_ARG_EXTRACT__( index, args... )

Parameters

NameDescription
indexzero-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.

Remarks

Version


  • Since fbc 1.08.0

Differences from QB


  • New to FreeBASIC

See also


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

'/

Reference

  • Documented in KeyPgDdfbargextract.html