【问题标题】:How do I apply my helper module function to every element in my array?如何将我的辅助模块函数应用于数组中的每个元素?
【发布时间】:2017-06-14 10:20:10
【问题描述】:

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

【问题讨论】:

    标签: arrays ruby function helper


    【解决方案1】:
    arr.map(&MyModule.my_function)
    

    尝试不带参数地调用MyModule.my_function,这会给你上面的错误消息。

    你可以使用:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-25
      • 2012-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多