85 lines
3.0 KiB
Plaintext
85 lines
3.0 KiB
Plaintext
/*
|
||
* $Id$
|
||
*/
|
||
|
||
/*
|
||
* Las siguientes partes son derechos adquiridos de sus autores individuales.
|
||
* www - http://www.harbour-project.org
|
||
*
|
||
* Copyright 2000 Alejandro de G rate <alex_degarate@hotmail.com>
|
||
* Documentaci¢n en Espa¤ol de: EVAL()
|
||
*
|
||
* Copyright 2000 Luiz Rafael Culik <culik@sl.conex.net>
|
||
* Documentaci¢n en Ingl‚s de: EVAL()
|
||
*
|
||
* Vea doc/license.txt por los t‚rminos de la licencia.
|
||
*
|
||
*/
|
||
|
||
|
||
/* $DOC$
|
||
* $FUNCNAME$
|
||
* EVAL()
|
||
* $CATEGORY$
|
||
* Bloque de c¢digo
|
||
* $ONELINER$
|
||
* Eval£a un bloque de c¢digo (codeblock)
|
||
* $SYNTAX$
|
||
* EVAL( <bBloque> [, <xVal> [,...]]) --> xExpresion
|
||
* $ARGUMENTS$
|
||
* <bBloque> Bloque de c¢digo a ser evaluado.
|
||
*
|
||
* <xVal> Argumento para ser pasado al bloque de c¢digo.
|
||
*
|
||
* <xVal...> Lista de argumentos para ser pasados al bloque de c¢digo.
|
||
* $RETURNS$
|
||
* EVAL() retorna <xExpresion>, el valor de la £ltima expresi¢n dentro
|
||
* del bloque. El valor devuelto puede ser de cualquier tipo v lido.
|
||
* $DESCRIPTION$
|
||
* Esta funci¢n eval£a el bloque de c¢digo expresado como <bBloque> al
|
||
* ejecutarlo y pasarle los par metros como argumentos ,luego retorna su
|
||
* valor evaluado. Si hay m£ltiples expresiones dentro del bloque de
|
||
* c¢digo, la £ltima expresi¢n ser el valor de esta funci¢n.
|
||
*
|
||
* Si el bloque de c¢digo requiere par metros para ser pasados a ‚ste,
|
||
* ellos son especificados en la lista de par metros <xVal>.
|
||
* Cada par metro es separado por una coma dentro de la lista de
|
||
* par metros y cada expresi¢n es separada por comas dentro de la lista
|
||
* de expresiones.
|
||
*
|
||
* Nota: Un bloque de c¢digo es un valor de datos especial que hace
|
||
* referencia a c¢digo de programa compilado (contiene c¢digo
|
||
* ejecutable), puede incluso contener funciones y el hecho que
|
||
* permite exportar variables est ticas y locales dentro de ‚l,
|
||
* la da una gran versatilidad.
|
||
* Aunque las macros y los bloques de c¢digo son similares, las
|
||
* Las macros son cadenas de caracteres que se compilan durante
|
||
* la ejecuci¢n de un programa y se ejecutan a continuaci¢n.
|
||
* Los bloques de c¢digo se compilan junto con los otros PRG
|
||
* durante la compilaci¢n del programa. Por esto son m s r pidos,
|
||
* Es posible compilar un bloque de c¢digo en tiempo de ejecuci¢n
|
||
* desde una cadena de caracteres usando el operador de macros (&).
|
||
* Un bloque de c¢digo esta compuesto por:
|
||
* { |<lista argumentos>| <lista expresiones> }
|
||
* Los separadores verticales deben estar presentes aunque el
|
||
* bloque no reciba argumentos.
|
||
* $EXAMPLES$
|
||
* bBloque = {|arg1, arg2| QOUT( arg1+arg2) }
|
||
* EVAL( bBloque, "Harbour", " es fabuloso")
|
||
* $TESTS$
|
||
* Ver ejemplos.
|
||
* $STATUS$
|
||
* R
|
||
* $COMPLIANCE$
|
||
* Esta funci¢n es 100 % compatible con CA-Clipper.
|
||
* $PLATFORMS$
|
||
* Todas
|
||
* $FILES$
|
||
* La librer¡a es vm
|
||
* $SEEALSO$
|
||
* AEVAL(),DBEVAL()
|
||
* $END$
|
||
*/
|
||
|
||
|