Поделиться через


BinaryFormat.List

Синтаксис

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

О нас

Возвращает двоичный формат, который считывает последовательность элементов и возвращает list. Параметр binaryFormat указывает двоичный формат каждого элемента. Существует три способа определения количества прочитанных элементов:

  • Если countOrCondition не указан, двоичный формат будет считываться, пока нет дополнительных элементов.
  • Если countOrCondition является числом, двоичный формат прочитает столько элементов.
  • Если countOrCondition является функцией, эта функция будет вызвана для каждого считанного элемента. Функция возвращает значение true, чтобы продолжить, и значение false, чтобы остановить чтение элементов. Последний элемент включен в список.
  • Если countOrCondition является двоичным форматом, количество элементов должно предшествовать списку, а указанный формат используется для чтения счетчика.

Пример 1

Считывайте байты до конца данных.

Использование

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

Выход

{1, 2, 3}

Пример 2

Прочитай два байта.

Использование

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

Выход

{1, 2}

Пример 3

Считывает байты, пока значение байта больше или равно двум.

Использование

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

вывод

{1, 2}