El método collection.find( ) devuelve el primer valor en la colección para el cual nomMet, aplicado en cada elemento, devuelve true.
Nota: este método no modifica la colección original.
De forma predetermina, collection.find( ) busca en toda la colección. Opcionalmente, puede pasar en posicIni el índice del elemento desde el cual comenzar la búsqueda.
- Si posicIni >= longitud de la colección, se devuelve -1, y la búsqueda no se efectúa.
- Si posicIni < 0, se considera como el punto de inicio del cálculo de la posición (posicIni :=posicIni +length).
Nota: incluso si posicIni es negativo, la colección se sigue buscando de izquierda a derecha. - Si posicIni = 0, se busca en toda la colección (por defecto).
En nomMet, pase el nombre del método a usar para evaluar los elementos de la colección, junto con su(s) parámetro(s) en param (opcional). nomMet puede realizar cualquier prueba, con o sin el(los) parámetro(s). Este método recibe un parámetro Object en $1 y debe definir $1.result como true para el primer elemento que cumpla la condición.
nomMet recibe los siguientes parámetros:
- en $1.value: valor del elemento a evaluar
- en $2: param
- en $N...: param2...paramN
nomMet define los siguientes parámetros:
- $1.result (booleano): true si el valor del elemento coincide con la condición de búsqueda.
- $1.stop (booleano, opcional): true para detener la retrollamada del método. El valor devuelto es el último calculado.
Usted desea obtener el primer elemento con una longitud inferior a 5:
El código para el método LengthLessThan es:
C_OBJECT($1)
C_LONGINT($2)
If(Value type($1.value)=Is text)
$1.result:=(Length($1.value))<$2
End if
Usted desea encontrar el nombre de una ciudad dentro de una colección:
El código para el método es FindCity:
C_OBJECT($1)
C_TEXT($2)
$1.result:=$1.value.name=$2