📜  ruby 遍历数组 - Ruby (1)

📅  最后修改于: 2023-12-03 15:04:57.250000             🧑  作者: Mango

Ruby 遍历数组

在 Ruby 中,我们可以使用不同的方法来遍历数组,从而执行各种操作。

使用 each 方法

each 方法是在 Ruby 中遍历数组的最常见方法,它可以接受一个块,对数组中的每个元素分别执行块中的代码。

语法
array.each do |item|
  # 这里执行对 item 的操作
end
示例
numbers = [1, 2, 3, 4, 5]

numbers.each do |number|
  puts "Number: #{number}"
end

输出结果:

Number: 1
Number: 2
Number: 3
Number: 4
Number: 5
使用 select 方法

select 方法可以在数组中过滤元素,并返回满足条件的元素的新数组。

语法
new_array = array.select do |item|
  # 这里返回一个布尔值来过滤元素
end
示例
numbers = [1, 2, 3, 4, 5]

even_numbers = numbers.select do |number|
  number.even?
end

puts "Even numbers: #{even_numbers}"

输出结果:

Even numbers: [2, 4]
使用 map 方法

map 方法可以对数组中的每个元素执行一个代码块,并返回新数组。

语法
new_array = array.map do |item|
  # 这里执行对 item 的操作,并返回一个新的值
end
示例
numbers = [1, 2, 3, 4, 5]

squared_numbers = numbers.map do |number|
  number ** 2
end

puts "Squared numbers: #{squared_numbers}"

输出结果:

Squared numbers: [1, 4, 9, 16, 25]
使用 reduce 方法

reduce 方法可以用于将数组中所有的元素缩减为一个值。它接受一个初始值和一个块,每个元素都被块处理,并返回一个缩减后的值。

语法
result = array.reduce(start_value) do |accumulator, item|
  # 这里对 accumulator 和 item 执行操作,并返回一个新的值
end
示例
numbers = [1, 2, 3, 4, 5]

sum = numbers.reduce(0) do |accumulator, number|
  accumulator + number
end

puts "Sum: #{sum}"

输出结果:

Sum: 15
使用 each_with_index 方法

each_with_index 方法可以在遍历数组的同时获取元素的索引。

语法
array.each_with_index do |item, index|
  # 这里执行对 item 和 index 的操作
end
示例
fruits = ['apple', 'banana', 'orange']

fruits.each_with_index do |fruit, index|
  puts "Index: #{index}, Fruit: #{fruit}"
end

输出结果:

Index: 0, Fruit: apple
Index: 1, Fruit: banana
Index: 2, Fruit: orange

以上是 Ruby 遍历数组的常见方法,请根据项目需求选择适合的方法。