在 .each(&:) 函数中传递参数

Cod*_*aos 2 ruby ruby-on-rails

我有一个实体,我想用函数调用实体中的每个元素并用它传递一个参数。

我知道我可以通过使用调用该函数entity.each(&:calculate),但我想将参数传递给该函数。

def calculate(x)
  puts "#{x}"
end
Run Code Online (Sandbox Code Playgroud)

我正在尝试与entity.each(&:calculate, x)

rwo*_*old 5

这里&将方法转换为过程。据我所知,允许传递参数是一个悬而未决的问题:https://bugs.ruby-lang.org/issues/12115

我会简单地显式调用该块

entity.each{ |el| el.calculate(x) }
Run Code Online (Sandbox Code Playgroud)