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
Zip»)
// Convert $city and $zipCode arrays to a collection of objects
ARRAY TO COLLECTION ($colCity;$city; "cityName";$zipCode; "
//$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!