BinaryFormat.List

Syntax

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

About

返回一个二进制格式,该格式读取项序列并返回一个 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

读取字节,直到字节值大于或等于 2。

用法

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

输出

{1, 2}