/* * $Id$ */ /* * The following parts are Copyright of the individual authors. * www - http://harbour-project.org * * Copyright 2000 Luiz Rafael Culik * Documentation for: EVAL() * * See COPYING for licensing terms. * */ /* $DOC$ * $TEMPLATE$ * Function * $NAME$ * EVAL() * $CATEGORY$ * API * $SUBCATEGORY$ * Execute and Execution * $ONELINER$ * Evaluate a code block * $SYNTAX$ * EVAL( [, [,...]]) --> xExpression * $ARGUMENTS$ * Code block expression to be evaluated * * Argument to be passed to the code block expression * * Argument list to be passed to the code block expression * $RETURNS$ * The result of the evaluated code block * $DESCRIPTION$ * This function evaluates the code bloc expressed as and * returns its evaluated value. If their are multiple expressions within * the code block, the last expression will be value of this function. * * If the code block requires parameters to be passed to it,they are * specified in the parameter list and following. Each parameter * is separated by a comma within the expression list. * $EXAMPLES$ * PROCEDURE Main() * LOCAL bBlock := {|| NIL } * ? Eval( 1 ) * ? Eval( @bBlock ) * * ? Eval( {| p1 | p1 }, "A", "B" ) * ? Eval( {| p1, p2 | p1 + p2 }, "A", "B" ) * ? Eval( {| p1, p2, p3 | p1 }, "A", "B" ) * RETURN * $TESTS$ * See examples * $STATUS$ * R * $COMPLIANCE$ * C * $PLATFORMS$ * All * $FILES$ * Library is vm * $SEEALSO$ * AEVAL(),DBEVAL() * $END$ */