BinaryFormat.List
BinaryFormat.List(binaryFormat as function, optional countOrCondition as any) as function
返回读取项序列的二进制格式并且返回 list
。 参数 binaryFormat
指定每一项的二进制格式。 有三种方式可用于确定读取的项数:
- 如果未指定
countOrCondition
,将读取二进制格式,直到没有任何项。 - 如果
countOrCondition
为数值,则二进制格式将读取此数量的项。 - 如果
countOrCondition
为函数,将为每个项读取都调用该函数。 该函数返回 true 则继续,返回 false 则停止读取项。 最后的项包括在该列表中。 - 如果 countOrCondition 为二进制格式,则项计数应处于该列表前,并且使用指定的格式读取计数。
示例:
读取字节,直到到达数据末尾。
使用情况:
let
binaryData = #binary({1, 2, 3}),
listFormat = BinaryFormat.List(BinaryFormat.Byte)
in
listFormat(binaryData)
输出:
{1, 2, 3}
示例:
读取两个字节。
使用情况:
let
binaryData = #binary({1, 2, 3}),
listFormat = BinaryFormat.List(BinaryFormat.Byte, 2)
in
listFormat(binaryData)
输出:
{1, 2}
示例:
读取字节,直到字节值大于或等于 2。
使用情况:
let
binaryData = #binary({1, 2, 3}),
listFormat = BinaryFormat.List(BinaryFormat.Byte, (x) => x < 2)
in
listFormat(binaryData)
输出:
{1, 2}