[erlang-questions] RecordA serialization ... time ... deserialization to RecordB?
Juan Jose Comellas
juanjo@REDACTED
Fri Nov 11 15:48:54 CET 2011
If what you need is a way to access record fields by name during runtime, I
have a module called dynarec in a project I'm working on that will very
easily allow you to do it. You can find it here:
https://github.com/jcomellas/mlapi/blob/master/src/dynarec.erl
Basically, what you do is add the following preprocessor directive to the
module where you keep your records:
-compile({parse_transform, dynarec}).*
*
And then on that module you'll get the following functions automatically
inserted for all the records (and their fields) that were defined in the
module:
get_value(field_name, Record) ->
Record#record_name.field_name.
set_value(field_name, Value, Record) when is_record(Record, record_name) ->
Record#record_name{field_name = Value}.
records() ->
[record_name1, record_name2, ...].
fields(record_name) ->
[field_name1, field_name2, ...].
new_record(record_name) ->
#record_name{}.
Hope it helps.
Juanjo
On Fri, Nov 11, 2011 at 5:31 AM, Max Bourinov <bourinov@REDACTED> wrote:
> Hello Erlangers,
>
> What is a best way to serialize record, modify record's code and then
> deserialize it back?
>
> I seen https://github.com/esl/parse_trans. Is this what I need or there
> are another options?
>
> Maybe I better use another data structure?
>
> p.s. Of course performance is always important.
>
> Best regards,
> Max
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20111111/d8c6c5dc/attachment.htm>
More information about the erlang-questions
mailing list