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
這些循環結構各有其適用場景,選擇合適的循環方法可以提高代碼的可讀性和效率。