수색…


소개

ㅋ ㅋ ㅋ ㅋ ㅋ ㅋ.

문서를 다시 작성합니다.

4.4 기본값

[시작 생략 : << 3.14 >>는 법적 구문이 아닙니다.]

기본 크기는 유형에 따라 다릅니다. 정수의 경우 8입니다. 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">>

패턴에 2 진 유형이있는 다른 모든 세그먼트는 크기를 지정해야합니다.

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