|
|
|
|
- Modo de funcionamiento
- Cálculos existentes
- Equivalencia
Realiza un cálculo en cada elemento de un array WLanguage.
arrValue is array of int = [1,2,3,4,5] TheSum is int TheSum = Reduce(arrValue, (Value, ... SumCalculationVariable) => { RETURN Value + SumCalculationVariable}, 0) Trace(TheSum) // note: this example is for illustrative purposes; to find the sum of elements of an array, // it is preferable to use the Sum function // -> count the number of strings in an array that contain the letter "e" // (Prefix syntax) arr3 is array of strings = ["a","one","some","our","their"] let Cpt = Reduce(arr3, ( Source, Total ) => { RETURN Total + ( Source [=] "e"? 1 ELSE 0 ) }, 0 ) // Cpt = 3 Sintaxis
<Result> = Reduce(<Array> , <Operation to perform> [, <Initial value>])
<Result>: Tipo del resultado Resultado de la operación acumulativa. <Array>: Array WLanguage Nombre de la variable de tipo Array a utilizar. Este array debe ser unidimensional. <Operation to perform>: Procedimiento WLanguage Nombre del procedimiento WLanguage a ejecutar. Este procedimiento puede ser: - un procedimiento global o local,
- un procedimiento interno.
También es posible utilizar una función lambda directamente. <Initial value>: Parámetro opcional, tipo del valor inicial Valor inicial a utilizar la primera vez que se ejecuta el procedimiento <Operación a realizar>. Observaciones Modo de funcionamiento El procedimiento <Operación a realizar> se llama una primera vez con dos parámetros: - el primer elemento del array,
- el valor inicial especificado con el parámetro <Valor inicial>.
Luego se llama al procedimiento para todos los demás elementos del array con dos parámetros: - el elemento del array,
- el valor devuelto por la llamada anterior.
Ejemplo ilustrativoVeamos el siguiente ejemplo: arrValue is array of int = [1,2,3,4,5] TheSum is int TheSum = Reduce(arrValue, (Value, TheSum) => { RETURN Value + TheSum }, 0) En este ejemplo, el código: TheSum = Reduce(arrValue, (Value, TheSum) => { RETURN Value + TheSum }, 0) equivale al siguiente código: TheSum = Reduce(arrValue, Adds, 0) INTERNAL PROCEDURE Adds(Value, Total) RETURN Value + Total END Con este procedimiento interno, el cálculo se puede desglosar de la siguiente manera: - ResultadoIntermedio1 = Suma (t[1], ValorInicial): en el ejemplo Suma( 1, 0 ) -> 1
- ResultadoIntermedio2 = Suma (t[2], ResultadoIntermedio1): en el ejemplo Suma( 2, 1 ) -> 3
- ...
note: este ejemplo es ilustrativo; para hallar la suma de los elementos de un array, utilice la función cifra. Cálculos existentes Los cálculos más frecuentes están disponibles en WLanguage:
| | Media | Calcula la media de varios elementos:
Elementos * encontrados en un array, | Suma | Calcula la suma de los elementos array. |
Secuencia de funcionesPuede utilizar las funciones de array en una secuencia. Las siguientes funciones pueden utilizarse en una secuencia: Esta secuencia puede utilizarse como fuente para una sentencia FOR ALL o puede terminar con una de las siguientes funciones: Ejemplo: gnMean = garrUser.Filter(cbFilter).Map(cbMap).Mean()
Equivalencia La sintaxis FOR EACH también permite recorrer los elementos de un array para realizar operaciones de agregación. Clasificación Lógica de negocio / UI: Código neutro
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|