[erlang-questions] Bound(?) var in anonymous fun
Manuel A. Rubio "Bombadil"
Tue Dec 18 12:08:33 CET 2012
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:
lists:filter(fun(X) -> Key =/= X end, StatusList).
More information about the erlang-questions