BinaryFormat.List
Syntax
BinaryFormat.List(binaryFormat as function, optional countOrCondition as any) as function
About
Returns a binary format that reads a sequence of items and returns a list
. The binaryFormat
parameter specifies the binary format of each item. There are three ways to determine the number of items read:
- If the
countOrCondition
is not specified, then the binary format will read until there are no more items. - If the
countOrCondition
is a number, then the binary format will read that many items. - If the
countOrCondition
is a function, then that function will be invoked for each item read. The function returns true to continue, and false to stop reading items. The final item is included in the list. - If the
countOrCondition
is a binary format, then the count of items is expected to precede the list, and the specified format is used to read the count.
Example 1
Read bytes until the end of the data.
Usage
let
binaryData = #binary({1, 2, 3}),
listFormat = BinaryFormat.List(BinaryFormat.Byte)
in
listFormat(binaryData)
Output
{1, 2, 3}
Example 2
Read two bytes.
Usage
let
binaryData = #binary({1, 2, 3}),
listFormat = BinaryFormat.List(BinaryFormat.Byte, 2)
in
listFormat(binaryData)
Output
{1, 2}
Example 3
Read bytes until the byte value is greater than or equal to two.
Usage
let
binaryData = #binary({1, 2, 3}),
listFormat = BinaryFormat.List(BinaryFormat.Byte, (x) => x < 2)
in
listFormat(binaryData)
Output
{1, 2}