2016-05-31 15 views
0

ich die Elemente der Liste an eine Funktion übergeben müssen, mit Enum.eachWie übergebe ich eine Funktion an Enum.each?

ex: 
users= [1, 2, 3, 4, 5] 

#how to link the handler_user function in Enum.each? 
users 
|> Enum.each handler_user 

def handler_user user_id 
end 

Also, wie würde ich den Link?

Antwort

4

Sie müssen &/1 verwenden, um die Funktion zu erfassen:

users = [1, 2, 3, 4, 5] 

Enum.each(users, &handler_user/1) 

def handler_user(user_id) do 
... 
end 
+0

aber was ist, wenn ich will einen anderen Parameter handle_user senden, wie owner_id? Ich werde & handler_user/2 aufrufen, aber wie kann ich den anderen Parameter übergeben? – simo

+0

Dann müssen Sie die Funktion aufrufen: 'Enum.each (Benutzer, fn Benutzer -> handler_user (Benutzer, owner_id) Ende)' ' oder' Enum.each (Benutzer, & handler_user (& 1, owner_id)) ' – Gazler

+0

ah, ok, ich sehe jetzt .. – simo

Verwandte Themen