Zoeken…


Invoering

Bla bla bla.

Herschrijven van de documenten.

4.4 Standaardwaarden

[Begin weggelaten: << 3.14 >> is zelfs geen juridische syntaxis.]

De standaardgrootte is afhankelijk van het type. Voor geheel getal is het 8. Voor float is het 64. Voor binair getal is dit de werkelijke grootte van het opgegeven binair getal:

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

Bij het matchen is een binair segment zonder Grootte alleen toegestaan aan het einde van het patroon, en de standaard Grootte is de rest van het binaire getal aan de rechterkant van de wedstrijd:

25> Bin = <<97, 98, 99>>.
<<"abc">>

26> << X/integer, Rest/binary >> = Bin.
<<"abc">>

27> X.
97

28> Rest.
<<"bc">>

Alle andere segmenten met type binair in een patroon moeten een grootte opgeven:

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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow