Compartilhar via


BinaryFormat.List

Sintaxe

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

Sobre

Retorna um formato binário que lê uma sequência de itens e retorna um list. O binaryFormat parâmetro especifica o formato binário de cada item. Há três maneiras de determinar o número de itens lidos:

  • Se não countOrCondition for especificado, o formato binário será lido até que não haja mais itens.
  • Se for countOrCondition um número, o formato binário lerá muitos itens.
  • Se for countOrCondition uma função, essa função será invocada para cada leitura de item. A função retorna true para continuar e false para parar de ler itens. O item final está incluído na lista.
  • Se for countOrCondition um formato binário, espera-se que a contagem de itens preceda a lista e o formato especificado seja usado para ler a contagem.

Exemplo 1

Ler bytes até o final dos dados.

Usage

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

Saída

{1, 2, 3}

Exemplo 2

Leia dois bytes.

Usage

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

Saída

{1, 2}

Exemplo 3

Ler bytes até que o valor do byte seja maior ou igual a dois.

Usage

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

Saída

{1, 2}