Convertir colecciones

Traducido automáticamente de Deepl

4D v16 R6 proporciona capacidades avanzadas para manipular colecciones, gracias a los más de 40 métodos que se utilizan con la Notación Objeto. Al utilizarlos, podrá escribir su código de una manera más eficiente. El nuevo código es genial, pero también hemos tenido en cuenta que este nuevo código debe integrarse fácilmente con su código existente. Por eso hemos introducido comandos específicos para convertir colecciones en arrays o cadenas, y viceversa.

Este artículo es el segundo de una serie de posts sobre la manipulación de colecciones con los métodos añadidos en 4D v16 R6. Para explorar más a fondo, descargue nuestro ejemplo de base de datos con 12 ejemplos diferentes que demuestran las innumerables posibilidades de los métodos de colección.

Ejemplo de base de datos: Manejar colecciones

Ahora, centrémonos en la conversión de colecciones y en algunos ejemplos de código.

Arrays y colecciones

COLECCIÓN A ARRAY

El comando COLLECTION TO ARRAY rellena un array con elementos de una colección:

ARRAY TEXT($artFruits;0)
$fruits :=New collection("Naranja"; "Plátano"; "Manzana"; "Uva")

// Convert the $fruits collection to a text array
COLLECTION TO ARRAY ($fruits;$artFruits)
//$artFruits{1}="Orange"
//$artFruits{2}="Banana"
//..

El mismo comando también puede utilizarse para llenar varias matrices a partir de una colección de objetos:

ARRAY TEXT($city;0)
$col :=New collection(New object("nombre"; "Cleveland"; "zc";35049))
$col .push(New object("nombre"; "Blountsville"; "zc";35031))

// Convert $col collection to 2 arrays
COLLECTION TO ARRAY ($col;$city; "nombre";$zipCode; "zc"
)
//$city{1}="Cleveland"
//$city{2}="Blountsville"
//...
//$zipCode{1}="35049"
//$zipCode{2}="35031"
//...

ARRAY A LA COLECCIÓN

Del mismo modo, puedes convertir un array en una colección con ARRAY TO COLLECTION:

$colFruits:=New collection
// Convert $artFruits array to a collection
ARRAY TO COLLECTION
($colFruits;$artFruits)
//$colFruits=[Orange,Banana,Apple,Grape]

O llenar una colección de objetos a partir de varios arrays:

$colCity:=New collection
// Convert $city and $zipCode arrays to a collection of objects
ARRAY TO COLLECTION ($colCity;$city; "cityName";$zipCode; "
Zip»)
//$colCity[0]={cityName:Cleveland,Zip:35049}

//$colCity[1]={cityName:Blountsville,Zip:35031}

manipular cadenas con colecciones

El comando Split string divide una cadena en una colección de subcadenas basada en caracteres separadores:

$text:="John;Doe;120 jefferson st.;Riverside;; NJ; 08075"
$col :=Split string($text;";")
//$col:=["John","Doe","120 jefferson st.","Riverside",""," NJ"," 08075"]

También puede modificar algunos elementos de la colección y crear una nueva cadena mediante el método join método:

$col[2]:="95 S Market St #240"
$col [3]:="San José"
$col [5]:="CA"
$col [6]:="95113"
$text :=$col.join("
;»)
//$text="John;Doe;95 S Market St #240;San Jose;;CA;95113"

Todavía hay más posts sobre la manipulación de colecciones, ¡estén atentos!

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se unió al equipo de 4D Program en noviembre de 2016. Como Product Owner, está a cargo de escribir las historias de usuario y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la característica entregada cumple con las necesidades del cliente. Después de obtener una licenciatura en Ciencias de la Computación en el CNAM, Fabrice se unió a una pequeña empresa de publicación de software como desarrollador Windev. A continuación, trabajó para diferentes empresas del sector industrial y comercial como desarrollador de Windev y de la web, así como asesor técnico de nuevas funcionalidades.