{{fbdoc item="title" value="__FB_ARG_EXTRACT__"}}----
Intrinsic define (macro) performed by the compiler.

{{fbdoc item="syntax"}}##
	""__FB_ARG_EXTRACT__( index, args... )""
##
{{fbdoc item="param"}}
	##//index//##
		zero-based offset from the first argument (zero or positive integer value)
	##//args...//##
		argument list

{{fbdoc item="desc"}}
	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.

{{fbdoc item="ex"}}
	{{fbdoc item="filename" value="examples/manual/defines/fbargextract.bas"}}%%(freebasic)
#print __FB_ARG_EXTRACT__( 1, 7, 89.78, "Postman" )

/' Compiler output:
89.78
'/
	%%
	{{fbdoc item="filename" value="examples/manual/defines/fbargextract2.bas"}}%%(freebasic)
'   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
'/
	%%
{{fbdoc item="ver"}}
	- Since fbc 1.08.0

{{fbdoc item="diff"}}
	- New to ""FreeBASIC""

{{fbdoc item="see"}}
	- ##[[KeyPgDdfbargleftof|__FB_ARG_LEFTOF__]]##
	- ##[[KeyPgDdfbargrightof|__FB_ARG_RIGHTOF__]]##
	- ##[[KeyPgDdfbargcount|__FB_ARG_COUNT__]]##
	- ##[[KeyPgDdfbarglistexpand|__FB_ARG_LISTEXPAND__]]##

{{fbdoc item="back" value="CatPgDddefines|Intrinsic Defines"}}