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
.