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