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
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Realiza un cálculo en cada elemento de un array WLanguage.
Ejemplo
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 ilustrativo
Veamos 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:
MediaCalcula la media de varios elementos: Elementos * encontrados en un array,
  • valores numéricos, ....
SumaCalcula la suma de los elementos array.


Secuencia de funciones
Puede 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
Componente: wd290vm.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