__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__

