Přeskočit obsah

Pomocné výrazy¤

Přehled¤

  • !CAST: Převádí typ argumentu na jiný.
  • !HASH: Vypočítá digest.
  • !HEX.BYTES: Převádí hexadecimální řetězec na binární data.

!CAST¤

Převádí typ argumentu na jiný.

Typ: Mapping.

Synopsis:

!CAST
what: <input>
type: <type>
default: <value>
base: <integer>
  • default je nepovinné. Vrací se při neúspěšné konverzi.
  • base je nepovinné. Používá se při převodu řetězců na celá čísla (součást číselné soustavy).

Explicitně převádí typ what na typ type.

SP-Lang automaticky převádí typy argumentů, takže uživatel nemusí na typy vůbec myslet. Tato funkce se nazývá implicit casting.

V případě potřeby explicitní konverze typu použijte výraz !CAST. Jedná se o velmi mocnou metodu, která dělá hodně těžkou práci.

Další podrobnosti najdete v kapitole o typech.

Příklad

!CAST
what: "10.3"
type: fp64

Jedná se o explicitní převod řetězce na číslo s desetinnou čárkou.


!HASH¤

Vypočítá digest.

Typ: Mapping.

Synopsis:

!HASH
what: <input>
seed: <integer>
typ: <type of hash>

Vypočítá hash pro hodnotu what a vrátí digest jako seznam bajtů (list[ui8]).

seed určuje počáteční hash seed.

type určuje hašovací funkci, výchozí hodnota je XXH64.

Podporované hašovací funkce¤

  • XXH64: xxHash, 64bitový, nekryptografický, extrémně rychlý hashovací algoritmus.
  • XXH3: xxHash, 64bit, nekryptografický, optimalizovaný pro malé vstupy

Více informací o xxHash naleznete na adrese xxhash.com.

Příklad

!HASH
what: "Hello world!"
seed: 5

!HEX.BYTES¤

Převádí hexadecimální řetězec na binární data.

Typ: Mapping.

Synopse:

!HEX.BYTES
what: <string>

Příklad

!HEX.BYTES
what: "8F3A12"
Výstup: b'\x8f:\x12'