[erlang-questions] matching binaries directly into records

Richard Andrews <>
Thu Jul 5 06:18:28 CEST 2007

Couldn't find an answer to this in the archives.

I'd like to match a binary directly into a record; eg. syntax something like
the following:

-record( thing, {first=0, second=0} ).

binary_to_thing( Data ) ->
    <<R#thing.first:16, R#thing.second:16>> = Data,

The above doesn't work, but the required functionality can be achieved by
binding to temporaries and then populating R from the temporaries as a second
step. My problem is that as the size of the record becomes large there is a lot
of clutter associated with the temporary bindings and I'd like to remove it if

Will the temporaries will lead to inefficiency; or whether I can expect them to
be effectively optimised away?

What is the best way to do this conversion from binary to record?


      ____________________________________________________________________________________ Yahoo!7 Mail has just got even bigger and better with unlimited storage on all webmail accounts.

More information about the erlang-questions mailing list