Sdílet prostřednictvím


BinaryFormat.List

Syntaxe

BinaryFormat.List(binaryFormat as function, optional countOrCondition as any) as function

Asi

Vrátí binární formát, který čte posloupnost položek a vrátí list. Parametr binaryFormat určuje binární formát každé položky. Počet přečtených položek lze určit třemi způsoby:

  • Pokud není zadaný countOrCondition, binární formát se přečte, dokud nebudou k dispozici žádné další položky.
  • Pokud je countOrCondition číslo, binární formát přečte tolik položek.
  • Pokud je countOrCondition funkce, bude tato funkce vyvolána pro každou přečtenou položku. Funkce vrátí hodnotu true, aby pokračovala, a false, aby přestala číst položky. Poslední položka je zahrnuta v seznamu.
  • Pokud je countOrCondition binárním formátem, očekává se, že počet položek předchází seznamu a zadaný formát se použije ke čtení počtu.

Příklad 1

Přečíst bajty až do konce dat

využití

let
    binaryData = #binary({1, 2, 3}),
    listFormat = BinaryFormat.List(BinaryFormat.Byte)
in
    listFormat(binaryData)

výstup

{1, 2, 3}

Příklad 2

Přečtěte dva bajty.

Spotřeba

let
    binaryData = #binary({1, 2, 3}),
    listFormat = BinaryFormat.List(BinaryFormat.Byte, 2)
in
    listFormat(binaryData)

výstupní

{1, 2}

Příklad 3

Čtení bajtů, dokud nebude hodnota bajtu větší nebo rovna dvěma.

Využití

let
    binaryData = #binary({1, 2, 3}),
    listFormat = BinaryFormat.List(BinaryFormat.Byte, (x) => x < 2)
in
    listFormat(binaryData)

výstup

{1, 2}