BinaryFormat.List
構文
BinaryFormat.List(binaryFormat as function, optional countOrCondition as any) as function
バージョン情報
アイテムのシーケンスを読み取って list
を返すバイナリ形式を返します。 binaryFormat
パラメーターは、各アイテムのバイナリ形式を指定します。 読み取るアイテムの数を決めるには、次の 3 つの方法があります。
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
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}