BinaryFormat.ListBinaryFormat.List

SyntaxSyntax

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

InfoAbout

Gibt ein Binärformat zurück, das eine Reihe von Elementen liest und list zurückgibt.Returns a binary format that reads a sequence of items and returns a list. Der binaryFormat-Parameter gibt das Binärformat jedes Elements an.The binaryFormat parameter specifies the binary format of each item. Es gibt drei Möglichkeiten, die Anzahl der gelesenen Elemente zu ermitteln:There are three ways to determine the number of items read:

  • Wenn countOrCondition nicht angegeben ist, wird das Binärformat gelesen, bis keine weiteren Elemente mehr vorhanden sind.If the countOrCondition is not specified, then the binary format will read until there are no more items.
  • Wenn countOrCondition eine Zahl ist, wird das Binärformat entsprechend diesem Wert gelesen.If the countOrCondition is a number, then the binary format will read that many items.
  • Wenn countOrCondition eine Funktion ist, wird diese Funktion für jedes gelesene Element aufgerufen.If the countOrCondition is a function, then that function will be invoked for each item read. Die Funktion gibt TRUE zurück, um den Vorgang fortzusetzen, oder FALSE, um das Lesen von Elementen zu beenden.The function returns true to continue, and false to stop reading items. Das letzte Element ist in der Liste enthalten.The final item is included in the list.
  • Wenn countOrCondition ein Binärformat hat, wird erwartet, dass die Anzahl der Elemente vor der Liste steht und das angegebene Format zum Lesen der Anzahl verwendet wird.If the countOrCondition is a binary format, then the count of items is expected to precedes the list, and the specified format is used to read the count.

Beispiel 1Example 1

Liest Bytes bis zum Ende der Daten.Read bytes until the end of the data.

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

Beispiel 2Example 2

Liest zwei Bytes.Read two bytes.

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

Beispiel 3Example 3

Liest Bytes, bis der Bytewert größer oder gleich zwei ist.Read bytes until the byte value is greater than or equal to two.

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