0

我注意到我的 Ruby 项目中有一个常见的模式。这是一个例子。

def collect_reverses b
  a = []
  b.each do |element|
    a << element.reverse
  end
  a
end

这个特殊的例子被精简到最基本的部分。通常循环内的代码更复杂。

所描述的模式有效。然而,这种模式的过程性质与其余代码的面向对象性质形成鲜明对比。

是否有更清洁/更面向对象的方法来完成相同的任务?

4

1 回答 1

4

参见Enumerable#collect(也称为map):

def collect_reverses(a)
  a.collect(&:reverse)
end
于 2013-02-06T23:58:44.030 回答