[erlang-questions] Bound(?) var in anonymous fun

Max Bourinov <>
Tue Dec 18 12:12:06 CET 2012


Hi Pablo,

Have a look at lists module [1]. Maybe it worth to use existing functions?
---

1. http://www.erlang.org/doc/man/lists.html

Best regards,
Max




On Tue, Dec 18, 2012 at 3:08 PM, Manuel A. Rubio "Bombadil" <
> wrote:

> Hi Pablo,
>
> El 2012-12-18 11:54, Pablo Vieytes escribió:
>
>  I guessed Key was bound so I could use for pattern matching. It's
>> very easy to fix it but I don't know why it doesn't work.
>>
>
> This doesn't works well because the params are not inside of binding in
> closures. The params are the interface with the outside world and will be
> confuse know if a param is a binding or not. By default Erlang hasn't
> binding in function params.
>
>
>  Fixed version:
>>
>> delete_key_from_list(Key, StatusList)->
>>     lists:foldr(
>>       fun(K, Acc) when K == Key ->
>>       Acc;
>>  (Another, Acc) ->
>>       [Another|Acc]
>>       end,
>>       [],
>>       StatusList).
>>
>
> This code could be writted as:
>
> delete_key_from_list(Key, StatusList)->
>     lists:filter(fun(X) -> Key =/= X end, StatusList).
>
> Regards,
> Manuel Rubio.
> ______________________________**_________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/**listinfo/erlang-questions<http://erlang.org/mailman/listinfo/erlang-questions>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20121218/be5e4a34/attachment.html>


More information about the erlang-questions mailing list