[erlang-questions] Bound(?) var in anonymous fun
Tue Dec 18 12:22:07 CET 2012
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)->
>> fun(K, Acc) when K == Key ->
>> (Another, Acc) ->
> This code could be writted as:
> delete_key_from_list(Key, StatusList)->
> lists:filter(fun(X) -> Key =/= X end, StatusList).
> Manuel Rubio.
> erlang-questions mailing list
Or even more readable as:
[Status || Status <- StatusList, Status =/= Key].
More information about the erlang-questions