将程序代码转换为OO

时间:2013-02-06 23:57:05

标签: ruby

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

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

这个特殊的例子被剥夺了基本要素。通常,循环内部的代码更复杂。

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

是否有更清洁/更多的OO方法来完成相同的任务?

1 个答案:

答案 0 :(得分:4)

请参阅Enumerable#collect(也称为map):

def collect_reverses(a)
  a.collect(&:reverse)
end