Ruby 提供了多种循环结构,包括 each
、each_with_index
、each_with_object
、select
、reject
、find
、find_all
等。以下是一些高效的使用方法:
1. 使用 each
进行迭代
array = [1, 2, 3, 4, 5] array.each do |element| puts element * 2 end
2. 使用 each_with_index
在迭代时获取元素索引
array = ['a', 'b', 'c', 'd', 'e'] array.each_with_index do |element, index| puts "Element at index #{index} is #{element}" end
3. 使用 each_with_object
在迭代时构建一个新的对象
array = [1, 2, 3, 4, 5] result = array.each_with_object({}) do |element, hash| hash[element] = element * 2 end puts result
4. 使用 select
进行筛选
array = [1, 2, 3, 4, 5] even_numbers = array.select { |number| number.even? } puts even_numbers
5. 使用 reject
进行筛选(与 select
相反)
array = [1, 2, 3, 4, 5] odd_numbers = array.reject { |number| number.even? } puts odd_numbers
6. 使用 find
找到第一个满足条件的元素
array = [1, 2, 3, 4, 5] first_even = array.find { |number| number.even? } puts first_even
7. 使用 find_all
找到所有满足条件的元素(与 select
等价)
array = [1, 2, 3, 4, 5] all_even = array.find_all { |number| number.even? } puts all_even
8. 使用 times
进行固定次数的迭代
5.times do puts "Hello, World!" end
9. 使用 while
循环
i = 0 while i < 5 puts "Hello, World!" i += 1 end
10. 使用 for
循环(在 Ruby 中较少使用,但也可以实现相同功能)
for i in 0..4 puts "Hello, World!" end
这些循环结构各有其适用场景,选择合适的循环方法可以提高代码的可读性和效率。