Árvore de páginas

Abrangência
Versão 17.3.0.0 e superiores

A partir da versão 17.3.0.0 o recurso de parâmetro do tipo variadic está disponível no TLPP.

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:

Variadic.tlpp
function exemploVariadic( parm as Variadic )

  local nIndex := 0

  if ( valtype( parm )  == "U" )
    conout( " sem parametros variadic!" )
  else
    for nIndex := 1 to parm:vCount
      conout(" Parametro variadic '" + cValToChar(nIndex) + "': " + cValToChar(parm:vArgs[nIndex]) )
    next
  endif

return

Caso não seja passado nenhum valor na posição definida como parâmetro Variadic, a variável interna da função estará com valor Nil, sendo então necessário sempre a verificação antes de acessar as propriedades de Variadic.



  • Sem rótulos