【问题标题】:Send method to each object in Array向数组中的每个对象发送方法
【发布时间】:2013-08-16 17:49:42
【问题描述】:

我想向数组中的每个对象发送一个方法。我知道我可以做这样的事情

array = ...
array.each { |obj| obj.some_method }

但是有没有一种方法可以让我执行以下操作?

array = ...
array.send_each :some_method

【问题讨论】:

    标签: ruby arrays methods


    【解决方案1】:

    使用Symbol#to_proc:

    array.each(&:some_method)
    

    【讨论】:

    • 这是array.each{ |object| object.some_method } 的简写。如果您需要将参数传递给方法,请使用该版本。
    • @Thilo 这很多余,因为这是问题中发布的确切代码......也不正确。它是array.each(&Proc.new { |x| x.some_method }) 的简写。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-09
    • 2015-06-01
    • 2014-03-14
    相关资源
    最近更新 更多