如何将我的辅助模块函数应用于数组中的每个元素?

时间:2017-01-28 23:13:24

标签: arrays ruby function helper

我使用的是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)

1 个答案:

答案 0 :(得分:2)

arr.map(&MyModule.my_function)

尝试在没有参数的情况下调用MyModule.my_function,这会给出上面的错误消息。

你可以使用:

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

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