Přeskočit obsah

Výrazy pro záznam¤

Záznam (record) je jednou ze základních datových struktur poskytovaných SP-Langem. Jedná se o kolekci položek, které mohou mít různé typy. Položky záznamu jsou pojmenovány (na rozdíl od tuple) pomocí štítku (label).

Poznámka

Záznam je postaven na !TUPLE.


!RECORD: Kolekce pojmenovaných položek¤

Typ: Mapping.

Synopsis:

!RECORD
with:
  item1: <item 1>
  item2: <item 2>
  ...

item1 a item2 jsou označení příslušných položek v záznamu.

Počet položek v záznamu není omezen. Pořadí položek je zachováno.

Příklad

!RECORD
with:
  jméno: John Doe
  věk: 37 let
  výška: 175,4

Příklad ve flow-formě:

!RECORD {with: {jméno: John Doe, věk: 37 let, výška: 175,4} }

Použití tagu !!record:

{jméno: John Doe, věk: 37 let, výška: 175,4}

Example

Vynucení konkrétního typu položky:

!RECORD
with:
  jméno: John Doe
  věk: !!ui8 37
  výška: 175,4

Pole age bude mít typ ui8.


!GET: Získá položku ze záznamu¤

Typ: Mapping.

Synopsis:

!GET
what: <name or index of the item>
from: <record>

Pokud je what řetězec, pak je to název pole v záznamu.

Pokud je what celé číslo, pak je to index v záznamu. Hodnota what může být záporná, v takovém případě určuje položku z konce seznamu. Položky jsou indexovány od 0, to znamená, že první položka v seznamu má index 0. Pokud je what mimo hranice seznamu, příkaz se vrátí s chybou.

Příklad použití názvů položek:

!GET
what: name
from:
  !RECORD
  with:
    jméno: John Doe
    věk: 32 let
    výška: 127,5

Vrátí John Doe.

Použití indexu položek:

!GET
what: 1
from:
  !RECORD
-  with:
    name: John Doe
    age: 32
    height: 127.5

Vrací 32, hodnotu položky age.

Použití záporného indexu položek:

!GET
what: -1
from:
  !RECORD
  with:
    name: John Doe
    age: 32
    height: 127.5

Vrací 127.5, hodnotu položky height.