|
|
|
|
|
- Modo de funcionamiento
- Cálculos existentes
- Equivalencia
Realiza un cálculo en cada elemento de un array WLanguage.
tabValeur is array of int = [1,2,3,4,5]
LaSomme is int
LaSomme = Reduce(tabValeur, (Valeur, ...
VariableDeCalculeSomme) => { RETURN Valeur + VariableDeCalculeSomme }, 0)
Trace(LaSomme)
tab3 is array of strings = ["un","une","des","nos","leurs"]
let Cpt = Reduce(tab3, ( Source, Total ) => { RETURN Total
+ ( Source [=] "e" ? 1 ELSE 0 ) }, 0 )
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: tabValeur is array of int = [1,2,3,4,5]
LaSomme is int
LaSomme = Reduce(tabValeur, (Valeur, LaSomme) => { RETURN Valeur + LaSomme }, 0)
En este ejemplo, el código: LaSomme = Reduce(tabValeur, (Valeur, LaSomme) => { RETURN Valeur + LaSomme }, 0)
equivale al siguiente código: LaSomme = Reduce(tabValeur, Additionne, 0)
INTERNAL PROCEDURE Additionne(Valeur, Total)
RETURN Valeur + 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:
| | Mean | Calculates the mean of several elements: - elements found in an array,
- numeric values, ...
| Sum | Calculates the sum of the array elements. |
Sequence of functionsYou can use array functions in a sequence. The following functions can be used in a sequence: This sequence can be used as a source for a FOR ALL statement or it can end with one of the following functions: Example: 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…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|