Abrangência
Versão 17.3.0.0 e superiores
Variadic é um tipo de dado para ser utilizado em funções que necessitam receber uma quantidade variável de parâmetros.
Para sua correta utilização, a função deve estar com os tipos de todos os parâmetros devidamente definidos, além disso, o parâmetro Variadic deve aparecer apenas uma vez e sempre na última posição da lista de parâmetros.
Para saber a quantidade de parâmetros que foram passados em uma chamada de função que utiliza o Variadic, basta acessar a propriedade :vCount.
Para acessar os parâmetros propriamente ditos, deve-se acessar a propriedade :vArgs[<posição do parâmetro>].
Para ilustrar a utilização, no exemplo a seguir temos uma função que recebe uma quantidade variável de parâmetros e imprime todos os valores recebidos:
function exemploVariadic( parm as Variadic )
local nIndex := 0
if ( valtype( parm ) == "U" )
conout( " sem parametros variadic!" )
else
for nIndex := 1 to parm:vCount
conout( parm:vArgs[nIndex] )
next
endif
return