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. E 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