Retorna o número de parâmetros passados para uma função AdvPL.
Sintaxe
PCount()
Retorno
Nome | Tipo | Descrição |
---|---|---|
nRet | numérico | Retorna o número de parâmetros passados para uma função AdvPL. |
Observações
- Mesmo que a quantidade de parâmetros passados para uma função não seja igual ao que foi declarado, PCount retorna a quantidade de parâmetros passados na chamada.
- PCount funciona também para métodos de classe e blocos de código.
Exemplos
Exemplo 1
#include "totvs.ch" class myclass method new() constructor method mymethod( a ) endclass method new() class myclass return method mymethod( a ) class myclass return PCount() static function myfunc( a, b ) return PCount() user function pcount1() Local oObj Local bBlock oObj := myclass():new() conout( "PCount on functions" ) conout( myfunc() ) // Vai exibir "0" conout( myfunc( "a" ) ) // Vai exibir "1" conout( myfunc( "a", "b" ) ) // Vai exibir "2" conout( myfunc( "a", ) ) // Vai exibir "2" conout( myfunc( "a", Nil ) ) // Vai exibir "2" conout( myfunc( "a", "b", "c" ) ) // Vai exibir "3" conout( myfunc( "a", "b", ) ) // Vai exibir "3" conout( myfunc( , "b", ) ) // Vai exibir "3" conout( myfunc( "a", , "c" ) ) // Vai exibir "3" conout( myfunc( , , ) ) // Vai exibir "3" conout( "PCount on classes" ) conout( oObj:mymethod() ) // Vai exibir "0" conout( oObj:mymethod( "a" ) ) // Vai exibir "1" conout( oObj:mymethod( "a", ) ) // Vai exibir "2" conout( oObj:mymethod( Nil, ) ) // Vai exibir "2" bBlock := { | x | PCount() } conout( "PCount on code block" ) conout( Eval( bBlock ) ) // Vai exibir "0" conout( Eval( bBlock, "a" ) ) // Vai exibir "1" conout( Eval( bBlock, "a", ) ) // Vai exibir "2" conout( Eval( bBlock, Nil, ) ) // Vai exibir "2" return
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas