Ruby 提供了多種循環(huán)結(jié)構(gòu),包括 each
、each_with_index
、each_with_object
、select
、reject
、find
、find_all
等。以下是一些高效的使用方法:
each
進(jìn)行迭代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
在迭代時構(gòu)建一個新的對象array = [1, 2, 3, 4, 5]
result = array.each_with_object({}) do |element, hash|
hash[element] = element * 2
end
puts result
select
進(jìn)行篩選array = [1, 2, 3, 4, 5]
even_numbers = array.select { |number| number.even? }
puts even_numbers
reject
進(jìn)行篩選(與 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
進(jìn)行固定次數(shù)的迭代5.times do
puts "Hello, World!"
end
while
循環(huán)i = 0
while i < 5
puts "Hello, World!"
i += 1
end
for
循環(huán)(在 Ruby 中較少使用,但也可以實(shí)現(xiàn)相同功能)for i in 0..4
puts "Hello, World!"
end
這些循環(huán)結(jié)構(gòu)各有其適用場景,選擇合適的循環(huán)方法可以提高代碼的可讀性和效率。