<p>Juan, </p>
<p>That's really cool man. I dig it, and still find some way to incorporate that into singer if my projects.</p>
<p>Thanks,</p>
<p>-Jesse</p>
<p>--<br>
Jesse Gumm<br>
Owner, Sigma Star Systems<br>
414.940.4866<br>
<a href="http://www.sigma-star.com">www.sigma-star.com</a><br>
@jessegumm</p>
<div class="gmail_quote">On Nov 11, 2011 8:49 AM, "Juan Jose Comellas" <<a href="mailto:juanjo@comellas.org">juanjo@comellas.org</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
If what you need is a way to access record fields by name during runtime, I have a module called <font face="'courier new', monospace">dynarec</font> in a project I'm working on that will very easily allow you to do it. You can find it here: <a href="https://github.com/jcomellas/mlapi/blob/master/src/dynarec.erl" target="_blank">https://github.com/jcomellas/mlapi/blob/master/src/dynarec.erl</a><br>

<br>Basically, what you do is add the following preprocessor directive to the module where you keep your records:<div><br></div><div><font face="'courier new', monospace">-compile({parse_transform, dynarec}).<font color="#999988"><span style="font-size:12px;line-height:16px;white-space:pre-wrap"><i><br>

</i></span></font></font><br>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:</div><div><br></div><div><div><font face="'courier new', monospace">get_value(field_name, Record) -></font></div>

<div><font face="'courier new', monospace">    Record#record_name.field_name.</font></div><div><font face="'courier new', monospace"><br></font></div><div>
<font face="'courier new', monospace">set_value(field_name, Value, Record) when is_record(Record, record_name) -></font></div><div><font face="'courier new', monospace">    Record#record_name{field_name = Value}.</font></div>

<div><font face="'courier new', monospace"><br></font></div><div><font face="'courier new', monospace">records() -></font></div><div><font face="'courier new', monospace">    [record_name1, record_name2, ...].</font></div>

<div><font face="'courier new', monospace"><br></font></div><div><font face="'courier new', monospace">fields(record_name) -></font></div><div><font face="'courier new', monospace">    [field_name1, field_name2, ...].</font></div>

<div><font face="'courier new', monospace"><br></font></div><div><font face="'courier new', monospace">new_record(record_name) -></font></div><div><font face="'courier new', monospace">    #record_name{}.</font></div>

<div><br></div><div>Hope it helps.</div><div><br></div><div>Juanjo</div><div><br></div><div><br></div><br><div class="gmail_quote">On Fri, Nov 11, 2011 at 5:31 AM, Max Bourinov <span dir="ltr"><<a href="mailto:bourinov@gmail.com" target="_blank">bourinov@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello Erlangers,
<div><br></div><div>What is a best way to serialize record, modify record's code and then deserialize it back?</div><div><br></div><div>I seen <a href="https://github.com/esl/parse_trans" target="_blank">https://github.com/esl/parse_trans</a>. Is this what I need or there are another options?</div>



<div><br></div><div>Maybe I better use another data structure?</div><div><br></div><div>p.s. Of course performance is always important.</div><div><br></div><div>Best regards,</div><div>Max</div>
<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>
<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div>