<br><br><div class="gmail_quote">On Wed, Jan 21, 2009 at 11:50 AM, Mikael Pettersson <span dir="ltr"><<a href="mailto:mikpe@it.uu.se">mikpe@it.uu.se</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">Richard Carlsson writes:<br>
 > Bjorn Gustavsson wrote:<br>
 > > On Tue, Jan 20, 2009 at 4:15 PM, James Hague <<a href="mailto:james.hague@gmail.com">james.hague@gmail.com</a>> wrote:<br>
 > >> I would like to propose the addition of lists:keyfind/3, which is<br>
 > >> identical in structure to lists:keysearch/3, except that it returns<br>
 > >> either 'false' or the found tuple, with no additional wrapping of the<br>
 > >> result.  This can be trivially added to the lists module:<br>
 > >><br>
 > >>   keyfind(K, N, L) -><br>
 > >>      case keysearch(K, N, L) of<br>
 > >>         {_, Tuple} -> Tuple;<br>
 > >>         X -> X<br>
 > >>      end.<br>
 > >><br>
 > ><br>
 > > Good idea.<br>
 > ><br>
 > > Unless someone has any good reasons agains this suggestion, we will probably<br>
 > > implement it in R13. (lists:keyfind/3 will be a BIF, and<br>
 > > lists:keysearch/3 implemented<br>
 > > in Erlang.)<br>
 ><br>
 > Only that I always wince at the mixing of 'false' with {...}. Since this<br>
 > is a new function, I'd prefer 'error' (to pick another atom that is<br>
 > frequently used in Erlang libraries).<br>
<br>
</div>Except that it's not actually an error to ask "search list L<br>
for a tuple T with value K in element N and return T, or tell<br>
me if none could be found". So I'd argue that 'false' is much<br>
more appropriate than 'error'.<br>
<br>
At least, _I_ don't want that to be an error, since that would<br>
require silly coding like:<br>
1. ask if the element is there, but don't return it (query, boolean)<br>
2. if it's there, get it (lookup, throws exn on failure not never here)<br>
when what one often wants is:<br>
1. if the element is there, return it, otherwise return 'no'<br>
<div><div></div><div class="Wj3C7c">_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://www.erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://www.erlang.org/mailman/listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br>'no' sounds good for me.<br clear="all"><br>-- <br>--Hynek (Pichi) Vychodil<br><br>Analyze your data in minutes. Share your insights instantly. Thrill your boss.  Be a data hero!<br>
Try Good Data now for free: <a href="http://www.gooddata.com">www.gooddata.com</a><br>