[erlang-questions] Bound(?) var in anonymous fun
Max Bourinov
bourinov@REDACTED
Tue Dec 18 13:25:20 CET 2012
You are right!!!
But it should work according to the specification:
Pablo wrote: "I want to delete *an item* from a list and I've written this
fun."
So, it must be only one item :-)
Best regards,
Max
On Tue, Dec 18, 2012 at 3:36 PM, Loïc Hoguin <essen@REDACTED> wrote:
> This one only removes the first element. :)
>
>
> On 12/18/2012 12:34 PM, Max Bourinov wrote:
>
>> Or even more shooter:
>>
>> lists:delete(Key, StatusList).
>>
>>
>> On Tue, Dec 18, 2012 at 3:22 PM, Dmitry Klionsky <dm.klionsky@REDACTED
>> <mailto:dm.klionsky@REDACTED>**> wrote:
>>
>> On 12/18/2012 02: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
>> erlang-questions@REDACTED <mailto:erlang-questions@**erlang.org<erlang-questions@REDACTED>
>> >
>> http://erlang.org/mailman/__**listinfo/erlang-questions<http://erlang.org/mailman/__listinfo/erlang-questions>
>>
>> <http://erlang.org/mailman/**listinfo/erlang-questions<http://erlang.org/mailman/listinfo/erlang-questions>
>> >
>>
>>
>> Or even more readable as:
>>
>> delete_key_from_list(Key, StatusList)->
>> [Status || Status <- StatusList, Status =/= Key].
>>
>> --
>> Best regards,
>> Dmitry Klionsky
>>
>>
>> ______________________________**___________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED <mailto:erlang-questions@**erlang.org<erlang-questions@REDACTED>
>> >
>> http://erlang.org/mailman/__**listinfo/erlang-questions<http://erlang.org/mailman/__listinfo/erlang-questions>
>> <http://erlang.org/mailman/**listinfo/erlang-questions<http://erlang.org/mailman/listinfo/erlang-questions>
>> >
>>
>>
>>
>>
>>
>> ______________________________**_________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/**listinfo/erlang-questions<http://erlang.org/mailman/listinfo/erlang-questions>
>>
>>
>
> --
> Loďc Hoguin
> Erlang Cowboy
> Nine Nines
> http://ninenines.eu
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20121218/de619206/attachment.htm>
More information about the erlang-questions
mailing list