Erlang Language
ビット構文:デフォルト
サーチ…
前書き
何とか何とか何とか。
ドキュメントの書き直し。
4.4デフォルト
[始めの省略:<< 3.14 >>は正当な構文ではありません。]
デフォルトのサイズはタイプによって異なります。 floatの場合は64です。バイナリの場合は、指定されたバイナリの実際のサイズです。
1> Bin = << 17/integer, 3.2/float, <<97, 98, 99>>/binary >>. <<17,64,9,153,153,153,153,153,154,97,98,99>> ^ |<-------------------------->|<------>|
| float=64 binary=24
integer=8
2> size(Bin). % Returns the number of bytes: 12 % 8 bits + 64 bits + 3*8 bits = 96 bits => 96/8 = 12 bytes
マッチングでは、Sizeを持たないバイナリセグメントはパターンの最後にのみ許され、デフォルトのSizeはマッチの右側のバイナリの残りの部分です:
25> Bin = <<97, 98, 99>>. <<"abc">> 26> << X/integer, Rest/binary >> = Bin. <<"abc">> 27> X. 97 28> Rest. <<"bc">>
パターン内のバイナリタイプを持つ他のすべてのセグメントは、サイズを指定する必要があります。
12> Bin = <<97, 98, 99, 100>>. <<"abcd">> 13> << B:1/binary, X/integer, Rest/binary >> = Bin. %'unit' defaults to 8 for <<"abcd">> %binary type, total segment size is Size * unit 14> B. <<"a">> 15> X. 98 16> Rest. <<"cd">> 17> << B2/binary, X2/integer, Rest2/binary >> = Bin. * 1: a binary field without size is only allowed at the end of a binary pattern
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow