AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de colas, pilas, listas y arrays / Funciones de arrays
  • Modo de funcionamiento
  • Cálculos existentes
  • Equivalencia
WINDEV
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
Otros
Procedimientos almacenados
Realiza un cálculo en cada elemento de un array WLanguage.
Ejemplo
tabValeur is array of int	= [1,2,3,4,5]
LaSomme is int
LaSomme = Reduce(tabValeur, (Valeur, ...
	VariableDeCalculeSomme) => { RETURN Valeur + VariableDeCalculeSomme }, 0)
Trace(LaSomme)

// note : cet exemple est didactique ; pour faire la somme des éléments d'un tableau, 
// il est préférable d'utiliser la fonction Somme
// -> compter dans un tableau le nombre de chaînes contenant la lettre "e"
// (Syntaxe préfixée)
tab3 is array of strings = ["un","une","des","nos","leurs"]
let Cpt = Reduce(tab3, ( 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 ilustrativo
Veamos 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:
MeanCalculates the mean of several elements:
  • elements found in an array,
  • numeric values, ...
SumCalculates the sum of the array elements.


Sequence of functions
You 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
Componente: wd300vm.dll
Versión mínima requerida
  • Versión 25
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 05/07/2023

Señalar un error o enviar una sugerencia | Ayuda local