如何将辅助模块函数应用到数组中的每个元素?
How do I apply my helper module function to every element in my array?
我正在使用 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)
arr.map(&MyModule.my_function)
尝试不带参数调用 MyModule.my_function
,这会给出上面的错误消息。
您可以使用:
arr.map{ |x| MyModule.my_function(x) }
或
arr.map( &MyModule.method(:my_function) )
我正在使用 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)
arr.map(&MyModule.my_function)
尝试不带参数调用 MyModule.my_function
,这会给出上面的错误消息。
您可以使用:
arr.map{ |x| MyModule.my_function(x) }
或
arr.map( &MyModule.method(:my_function) )