2017-01-28 13 views
1

Я использую Ruby 2.4. Как применить мою вспомогательную функцию, taht принимает один параметр, к каждому элементу массива? У меня есть этот массивКак применить функцию вспомогательного модуля к каждому элементу в моем массиве?

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

И у меня есть метод, который читает, «MyModule.my_function (Arg)», который я хотел бы обратиться к каждому элементу массива. Но попытка ниже приводит к ошибке.

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

ответ

2
arr.map(&MyModule.my_function) 

пытается вызвать MyModule.my_function без аргумента, который дает вам сообщение об ошибке выше.

Вы могли бы просто использовать:

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

или

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

 Смежные вопросы

  • Нет связанных вопросов^_^