[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,
    R.

----
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
possible.

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?

--
  Rich



      ____________________________________________________________________________________ Yahoo!7 Mail has just got even bigger and better with unlimited storage on all webmail accounts.
http://au.docs.yahoo.com/mail/unlimitedstorage.html






More information about the erlang-questions mailing list