在Ruby中,有几种循环结构可以提高代码复用性,例如each
、map
、select
、reduce
等。这些循环结构都是基于迭代器的,可以在不同的集合上使用,从而提高代码的复用性。下面是一些示例:
each
循环遍历集合:def process_items(items)
items.each do |item|
# 对每个item进行处理
puts item * 2
end
end
items = [1, 2, 3, 4, 5]
process_items(items)
map
循环创建一个新集合:def square_items(items)
items.map { |item| item * item }
end
items = [1, 2, 3, 4, 5]
squared_items = square_items(items)
puts squared_items.inspect
select
循环筛选满足条件的元素:def even_items(items)
items.select { |item| item.even? }
end
items = [1, 2, 3, 4, 5]
even_items = even_items(items)
puts even_items.inspect
reduce
循环计算集合的总和:def sum_items(items)
items.reduce(0) { |total, item| total + item }
end
items = [1, 2, 3, 4, 5]
sum = sum_items(items)
puts sum
通过使用这些循环结构,你可以将相同的逻辑应用于不同的集合,从而提高代码的复用性。同时,你还可以将这些循环结构封装成方法,以便在其他地方重用。