You can also do that using record_info() without using a parse transform.<div>record_info(name, fields) returns a list of field names, which map to their position in the tuple (remember that element 1 is the type). Use element(Tuple, N) to extract the element.<br>
<div><br></div><div>Sincerely,</div><div><br></div><div>jw</div><div><br clear="all"><br>--<br>Americans might object: there is no way we would sacrifice our living standards for the benefit of people in the rest of the world. Nevertheless, whether we get there willingly or not, we shall soon have lower consumption rates, because our present rates are unsustainable. <br>
<br>
<br><br><div class="gmail_quote">2011/8/29 Motiejus Jakštys <span dir="ltr"><<a href="mailto:desired.mta@gmail.com">desired.mta@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Sun, Aug 28, 2011 at 12:46:10PM +0200, Roberto Ostinelli wrote:<br>
> Hi list,<br>
><br>
> is there any way to retrieve a record item whose identifier is in a<br>
> variable? For instance:<br>
><br>
> -record(state, {<br>
>     type = 1<br>
> }).<br>
><br>
<br>
</div>Ulf Wiger has done this job in parse_trans package:<br>
<a href="https://github.com/uwiger/parse_trans" target="_blank">https://github.com/uwiger/parse_trans</a><br>
<br>
Documentation here:<br>
<a href="http://forum.trapexit.org/viewtopic.php?p=21790" target="_blank">http://forum.trapexit.org/viewtopic.php?p=21790</a><br>
<br>
Basically looks like this:<br>
-compile({parse_transform, exprecs}).<br>
-export_records(['r']).<br>
-record(r, {a, b}).<br>
<br>
imho(MyField) -><br>
    R = r{a = yadda, b = yabba},<br>
    '#get-'(MyField, R).<br>
<br>
main() -><br>
    imho(a). %% Returns yadda<br>
<font color="#888888"><br>
Motiejus<br>
</font><div><div></div><div class="h5">_______________________________________________<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>
</div></div></blockquote></div><br></div></div>