{ } Delimitadores de bloques de código y matrices en forma literal (Especial) ------------------------------------------------------------------------------ Sintaxis { <lista exp> } (matriz en forma literal) { |<lista parám>| <lista exp> } (definición de bloque de código) Operandos <lista exp> es una lista de expresiones de cualquier tipo. Si el elemento es una definición de matriz literal, puede contener otra definición de matriz literal. <lista parám> es una lista de variables que reciben los parámetros pasados a un bloque de código por una invocación a la función EVAL(). La lista de parámetros debe separarse con comas y escribirse ente barras verticales (||). Las variables especificadas en esta lista son variables locales para el bloque de código y sólo son visibles dentro de la definición del bloque de código. Descripción Las llaves ({}) delimitan referencias a matrices literales o bloques de código. Si la referencia es una matriz literal, puede utilizarla para crear una matriz en una asignación o declaración de variable. Si la referencia es una declaración de variable, la matriz puede contener como elementos expresiones de cualquier tipo, a menos que se utilice STATIC en la sentencia de declaración. En tal caso, la matriz literal sólo puede contener valores constantes. Ejemplos ■ Este ejemplo utiliza matrices literales en declaraciones para crear una variable e inicializarla con una referencia a la matriz: LOCAL aPersona := { "Nombre", "Dirección", DATE() } STATIC aNumList := { 1, 2, 3, 4, 5, 6, 7, 8 } ■ Este ejemplo crea una matriz literal multidimensional: aMulti := { {1, 2, 3}, {"A", "B", "C"} } ■ Este ejemplo utiliza las llaves para definir un bloque de código sencillo con un solo parámetro: LOCAL bBloqueSay bBloqueSay := { |x| QOUT(x) } EVAL(bBloqueSay, 10) // Resultado: 10 To download this example - click here.
See Also: EVAL() LOCAL PRIVATE PUBLIC STATIC