2017-01-28 4 views
1

Ich benutze Ruby 2.4. Wie verwende ich meine Hilfsfunktion, die einen Parameter für jedes Element eines Arrays benötigt? Ich habe dieses ArrayWie kann ich meine Hilfsmodulfunktion auf jedes Element in meinem Array anwenden?

arr = ["ele1", "ele2", ...] 

Und ich habe eine Methode, die „MyModule.my_function (ARG)“ liest, das ich auf jedes Element des Arrays anwenden möchte. Wenn Sie das Folgende versuchen, führt dies zu einem Fehler.

2.4.0 :005 > arr.map(&MyModule.my_function) 
ArgumentError: wrong number of arguments (given 0, expected 1) 

Antwort

2
arr.map(&MyModule.my_function) 

versucht MyModule.my_function ohne Argument aufrufen, mit dem Sie die obige Fehlermeldung gibt.

Sie könnten nur verwenden:

arr.map{ |x| MyModule.my_function(x) } 

oder

arr.map(&MyModule.method(:my_function)) 
Verwandte Themen