Bloques de código con parámetros y Eval
Ejecuta expresión parametrizada y utiliza su retorno explícitamente.
Descripción general
Bloque usa { |parámetros| expresiones } y recibe valores pasados a Eval después del bloque. Devuelve última expresión; bloque vacío devuelve Nil. Parámetros son locales al bloque; capturar variable del llamador es otro vínculo con efectos de memoria y duración. Ejemplo solo suma números sin macroejecución de texto. En callbacks de interfaz o ASort, respetar argumentos y retorno exigidos por llamador. (TOTVS, s.f., refs. 1–2)
Retorno
No hay retorno único: se trata de un flujo compuesto.
Ejemplo comentado
#Include "Protheus.ch"
User Function EdBloco()
Local bSumar := {|nUno, nDos| nUno + nDos}
Local nTotal := Eval(bSumar, 7, 3)
// Crear bloque no ejecuta expresion.
ConOut(cValToChar(nTotal))
Return NilResultado esperado: 10. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.
- Mantener bloques cortos. Validar tipos en contrato del llamador; evitar retención indefinida y evaluar texto no confiable.
- En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

Comentarios
Todavía no hay comentarios aprobados.
Inicia sesión con Google o Microsoft para comentar.