BinaryFormat.List
Возвращает двоичный формат, который считывает последовательность элементов и возвращает список.
Syntax
BinaryFormat.List(
binaryFormat as function,
optional countOrCondition as any
) as function
Remarks
Возвращает двоичный формат, который считывает последовательность элементов и возвращает список
. Параметр binaryFormat
указывает двоичный формат каждого элемента. Определить число считанных элементов можно тремя способами.
- Если параметр
countOrCondition
не указан, то двоичный формат будет считываться, пока не будут обработаны все элементы. - Если
countOrCondition
— это число, то двоичный формат будет считывать только указанное число элементов. - Если
countOrCondition
— это функция, она будет вызвана для чтения каждого элемента. Функция возвращает значение true для продолжения и значение false для остановки считывания элементов. Последний элемент включается в список. - Если
countOrCondition
— это двоичный формат, ожидается, что указанное количество элементов будет предшествовать списку, а указанный формат будет использоваться для чтения этого количества.
Examples
Example #1
Считывает байты до конца данных.
let
binaryData = #binary({1, 2, 3}),
listFormat = BinaryFormat.List(BinaryFormat.Byte)
in
listFormat(binaryData)
Result:
{1, 2, 3}
Example #2
Считывает 2 байта.
let
binaryData = #binary({1, 2, 3}),
listFormat = BinaryFormat.List(BinaryFormat.Byte, 2)
in
listFormat(binaryData)
Result:
{1, 2}
Example #3
Считывает байты, пока байтовое значение меньше 2.
let
binaryData = #binary({1, 2, 3}),
listFormat = BinaryFormat.List(BinaryFormat.Byte, (x) => x < 2)
in
listFormat(binaryData)
Result:
{1, 2}
Category
Binary Formats.Reading lists