Inicializátor objektů a kolekcí

Automaticky přeloženo z Deepl

V kódu lze objekty a kolekce instancovat pomocí příkazu New object a New collection příkazů. Od verze 4D v20 máte k dispozici nový, snadnější a čitelnější způsob jejich inicializace: objektový literál a kolekční literál.

Objektový literál

Objektový literál vytváří nový prázdný nebo předvyplněný objekt:

  • Prázdný objekt můžete vytvořit pomocí výrazu {}:
$object1:={}
// is equivalent to: 
$object2:=New object
  • nebo objekt inicializovaný hodnotami pomocí seznamu dvojic názvů vlastností a přidružených hodnot, uzavřených do složených závorek:
$b:=42
$object1:={\
  a:"foo"; \
  b:$b; \
  c:{}; \
  d:["Hello"; "there"]\
  }
// is equivalent to:
$object2:=New object(\
  "a"; "foo"; \
  "b"; $b; \
  "c"; New object; \
  "d"; New collection("hello"; "there"))

Tento nový způsob instanciování objektů navíc přináší výhodu, že atributy se vytvářejí jako takové, a ne jako text. Umožňuje to:

  • využívat zvýraznění syntaxe
  • používat doplňování kódu při vytváření atributů
  • načíst tyto atributy při vyhledávání vlastností

COLLECTION literal

Literál kolekce vytvoří novou prázdnou nebo předvyplněnou kolekci.

  • Prázdnou kolekci můžete vytvořit pomocí výrazu []:
$collection1:=[] 
// is equivalent to:
$collection2:=New collection
  • nebo kolekci inicializovanou hodnotami:
$collection1:=[654; $b; {a:"foo"}]
// is equivalent to:
$collection2:=New collection(654; $b; New object("a"; "foo"))

Neustále se snažíme poskytovat našim uživatelům co nejlepší služby a vyzýváme vás, abyste se o své názory a připomínky podělili na fóru 4D. Vaše zpětná vazba nám pomáhá lépe porozumět vašim potřebám a neustále zlepšovat naše produkty a služby. a přemýšlejte o konzultaci této funkce v dokumentaci, kde najdete další podrobnosti!

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se připojil k týmu 4D Program v listopadu 2016. Jako Product Owner má na starosti psaní uživatelských příběhů, které následně převádí do funkčních specifikací. Jeho úkolem je také zajistit, aby dodaná implementace funkcí splňovala potřeby zákazníků.Po získání bakalářského titulu v oboru informatiky na CNAM nastoupil Fabrice do malé softwarové vydavatelské společnosti jako vývojář Windev. Poté pracoval pro různé společnosti v oblasti průmyslu a obchodu jako vývojář aplikací Windev a webových aplikací a také jako technický poradce pro nové funkce.