Inicializador literal de objetos y colecciones

En su código, los objetos y colecciones pueden instanciarse utilizando los comandos New object y New collection. A partir de 4D v20, tiene nuevas formas más fáciles y legibles de inicializarlos: el literal de objeto y el literal de colección.

Literal objeto

Un literal objeto crea un nuevo objeto vacío o prellenado:

  • Puede crear un objeto vacío utilizando la expresión {}:
$object1:={}
// es equivalente a: 
$object2:=New object
  • o un objeto inicializado con valores, utilizando una lista de pares de nombres de propiedades y valores asociados, encerrados entre llaves:
$b:=42
$object1:={\
  a:"foo"; \
  b:$b; \
  c:{}; \
  d:["Hello"; "there"]\
  }
// es equivalente a:
$object2:=New object(\
  "a"; "foo"; \
  "b"; $b; \
  "c"; New object; \
  "d"; New collection("hello"; "there"))

Esta nueva forma de instanciar objetos aporta además la ventaja de crear los atributos como tales y ya no como texto. Le permite

  • beneficiarse del resaltado de sintaxis
  • utilizar el completado de código para crear atributos
  • recuperar estos atributos cuando realice una búsqueda de propiedades

Literal colección

Un literal colección crea una nueva colección vacía o prellenada.

  • Puede crear una colección vacía utilizando la expresión []:
$collection1:=[] 
// es equivalente a:
$collection2:=New collection
  • o una colección inicializada con valores:
$collection1:=[654; $b; {a:"foo"}]
// es equivalente a:
$collection2:=New collection(654; $b; New object("a"; "foo"))

Nos esforzamos constantemente para ofrecer a nuestros usuarios la mejor experiencia posible, y le animamos a compartir sus opiniones y comentarios en el foro de 4D. Sus comentarios nos ayudan a entender mejor sus necesidades y a mejorar continuamente nuestros productos y servicios. y piense en consultar esta funcionalidad en la documentación para más detalles.

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.