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}
讀取位元組,直到位元組值大於或等於二。
使用方式
let
binaryData = #binary({1, 2, 3}),
listFormat = BinaryFormat.List(BinaryFormat.Byte, (x) => x < 2)
in
listFormat(binaryData)
輸出
{1, 2}