<div>Thanks. It was heavy Friday for me.</div><div><br></div><br clear="all"><div>Best regards,</div><div>Max</div><br><br>
<br><br><div class="gmail_quote">On Fri, Mar 9, 2012 at 6:23 PM, Dmitry Demeshchuk <span dir="ltr"><<a href="mailto:demeshchuk@gmail.com">demeshchuk@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

#recordname.fieldname<br>
<div><div class="h5"><br>
On Fri, Mar 9, 2012 at 7:20 PM, Max Bourinov <<a href="mailto:bourinov@gmail.com">bourinov@gmail.com</a>> wrote:<br>
> Hi Erlangers,<br>
><br>
> Is there is a way to find a position number of the field in the record:<br>
><br>
> 1. At compile time (record_info)?<br>
> 2. At runtime (I think not).<br>
><br>
> Motivation:<br>
> I use lists module and its functions like lists:keyfind/3 for dealing with<br>
> records. I don't want to hardcode number to target certain record's field. I<br>
> afraid that if I change order of fields in my records my code will be broken<br>
> (It will be indeed). So, I do believe that it is possible to do something<br>
> like:<br>
><br>
> ...<br>
> -record(my_rec {<br>
>   name, age, gender<br>
> }).<br>
> %<br>
> ListOfRecords = [#my_rec{name = "John"}, #my_rec{name =<br>
> "Peter"}, #my_rec{name = "Marry"}],<br>
> Value = "Peter",<br>
> %<br>
> case lists:keyfind(Value, ?get_filed_number(name, my_rec), ListOfRecords) of<br>
> ...<br>
><br>
> I hope it is possible to define some sort of makro that will do the job...<br>
><br>
> Any ideas?<br>
><br>
> Best regards,<br>
> Max<br>
><br>
><br>
><br>
</div></div>> _______________________________________________<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>
<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
--<br>
Best regards,<br>
Dmitry Demeshchuk<br>
</font></span></blockquote></div><br>