Перейти к основному содержимому

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