溫馨提示×

Ruby循環結構有哪些高效的寫法

小樊
84
2024-11-06 03:57:41
欄目: 編程語言

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

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

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女