标签: ruby
我注意到我的Ruby项目中有一个常见的模式。这是一个例子。
def collect_reverses b a = [] b.each do |element| a << element.reverse end a end
这个特殊的例子被剥夺了基本要素。通常,循环内部的代码更复杂。
描述的模式有效。但是,这种模式的程序性质与其余代码的面向对象性质形成鲜明对比。
是否有更清洁/更多的OO方法来完成相同的任务?
答案 0 :(得分:4)
请参阅Enumerable#collect(也称为map):
Enumerable#collect
map
def collect_reverses(a) a.collect(&:reverse) end