Função: EVal
Executa um bloco de código.
EVal ( < bBloco>, [ xVariavel] ) --> xRetorno
Nome | Tipo | Descrição | Obrigatório | Referência |
bBloco | Bloco de código | Indica o bloco de código que será avaliado. | X | |
xVariavel | Qualquer | Indica o argumento que será avaliado no bloco de código. |
-
xRetorno(qualquer)
- Retorna o valor da última expressão do bloco de código.
// Exemplo 1#DEFINE CRLF Chr(13)+Chr(10)#DEFINE TAB Chr(09)User Function Exemplo()Local bBloco := {|nArg| nArg + 1 }Local cMensagem := ""Local nCount := 0//+----------------------------------------------------------------------------+//|Exemplifica o uso da função Eval |//+----------------------------------------------------------------------------+ cMensagem += "Antes de avaliar o bloco de código: " + CRLF cMensagem += TAB + "nCount = " + cValToChar(nCount) + CRLF nCount := Eval(bBloco, nCount) cMensagem += "Depois de avaliar o bloco de código: " + CRLF cMensagem += TAB + "nCount = " + cValToChar(nCount)//+----------------------------------------------------------------------------+//|Apresenta uma mensagem com os resultados obtidos |//+----------------------------------------------------------------------------+Return MsgInfo(cMensagem, "Eval - Exemplo")////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Exemplo 2//Este exemplo cria um bloco de código que incrementa um número e depois o avalia:bBloco := { |nArg| nArg + 1 }? EVAL(bBloco, 1) // Resulta: 2////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Exemplo 3//Este exemplo demonstra como um bloco de código pode ser compilado em tempo de execuçao utilizando-se o operador macro (&):bBloco := &("{ |nArg| nArg + 1 }")? EVAL(bBlock, 1) // Avalia o bloco
Exemplo da função EVal()
![](/command/getimage?key=fileName%3DEVal.jpg%2Cmime%3Dimage%2Fpjpeg%2Ctimestamp%3D1300986799147)
![](/command/getimage?key=fileName%3DEVal.jpg%2Cmime%3Dimage%2Fpjpeg%2Ctimestamp%3D1300986799147)
Microsiga Protheus 8.11
,
Protheus 10
,
TOTVS Application Server 10
,
ByYou Application Server
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas