Re: starter trying to figure out a binary pattern match

Magnus Leone <[email protected]>
Newsgroups gmane.comp.lang.erlang.general
Message-ID <CABz=PzOPvFXSwvH4HYD4apw3B1AQ3Xnt3Q5kHWA5VVK1-TZZug@mail.gmail.com>
I made a cheat sheet for binaries that you may find useful:
https://cheatography.com/fylke/cheat-sheets/erlang-binaries/

Improvement suggestions welcome!

Regards,
Magnus

On Thu, Oct 21, 2021 at 9:21 AM Nalin Ranjan <[email protected]> wrote:

> If you prefer chatting, there is a link to get a slack
> <https://erlef.org/slack-invite/erlanger> invitation under the community
> <https://www.erlang.org/community> section of erlang.org.
>
> Thanks and Regards
> Nalin Ranjan
>
> On Thu, Oct 21, 2021 at 9:37 AM Felipe Vieira <[email protected]> wrote:
>
>> Hey folks, I have just started learning Erlang and I'm loving it.
>>
>> I'm going through Armstrong's "Programming Erlang" and I'm trying to
>> build on "Reading MP3 Metadata".
>>
>> He patter matches with:
>>
>> ```
>> parse_v1_tag(<<$T,$A,$G, Title:30/binary, Artist:30/binary, ⋯
>> ```
>>
>> I tried the following (and variations):
>>
>> 1.
>>
>> ```
>> -define(ID3V2_HEADER, "TAG").
>> ⋯
>> is_id3v2(<<?ID3V2_HEADER, Tag:(128 - byte_size(?ID3V2_HEADER))/binary>>)
>> ->
>> ```
>>
>> 2.
>>
>> ```
>> -define(ID3V2_HEADER, <<"TAG":3/binary>>).
>> ⋯
>> is_id3v2(<<?ID3V2_HEADER, Tag:(128 - byte_size(?ID3V2_HEADER))/binary>>)
>> ->
>> ```
>>
>> And I'm trying to achieve a match like this (which also does not work,
>> but states more clearly my intentions):
>>
>> ```
>> <<"TAG">> ++ <<X>> = <<84,65,71,73,86,46,32,87,46>>.
>> ```
>>
>> Is there a way to achieve this together with the `128 -
>> byte_size(?ID3V2_HEADER))/binary>>` calculation?
>>
>> Best,
>>
>> PS: is there a more informal/chat-like place to ask these kinds of
>> questions?
>>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.