Re: starter trying to figure out a binary pattern match

Nalin Ranjan <[email protected]>
Newsgroups gmane.comp.lang.erlang.general
Message-ID <CACE+zkKMJurB2cLmD_whjw0z5X5okGuEW2iObXRpZmcxZD37_Q@mail.gmail.com>
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.