Usina BRAdvPL Guia
Entrar
← Todos os tópicos
FUNçãOEm revisão

Eval

Eval( bBloco, [xVariavel] ) --> xRetorno

Executa um bloco e devolve sua última expressão.

EvalAdvPL
01 · VISÃO GERAL

Visão geral

Eval executa o bloco recebido; não é apenas uma inspeção. Seu retorno pode ter qualquer tipo, conforme a última expressão avaliada. Argumentos são repassados ao bloco no contrato da chamada. O exemplo usa um bloco de cálculo puro e uma entrada fixa; não compila texto externo por macro e não acessa tabelas. Em callbacks de interface ou banco, conferir efeitos antes de avaliar. (TOTVS, s.d., ref. 1)

02 · SINTAXE

Sintaxe

Eval( bBloco, [xVariavel] ) --> xRetorno

Parâmetros

bBloco
Bloco de códigoObrigatório

Bloco a executar.

xVariavel
QualquerOpcional

Argumento fornecido ao bloco.

Retorno

Valor da última expressão do bloco.

03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"

User Function Ed370()
    Local bDobrar := {|nValor| nValor * 2}
    // Somente calculo local, sem efeitos externos.
    ConOut(cValToChar(Eval(bDobrar, 4)))
Return Nil
Resultado esperado

Resultado esperado: 8. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • Validar que a entrada é bloco e conhecer suas dependências antes da execução.
  • Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. Eval. TDN. Consulta em 2026-10-26.
Situação
Em revisão
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha