Перейти до основного вмісту

BinaryFormat.List

Повертає двійковий формат, який читає послідовність елементів і повертає список.

Syntax

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

Remarks

Повертає двійковий формат, який зчитує послідовність елементів і повертає список за параметром list. Параметр 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

Читання двох байтів.

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

Result:

{1, 2}

Example #3

Читання байтів, доки значення байту не буде більше або дорівнювати двом.

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