📜  使用索引映射每个 - Ruby (1)

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

使用索引映射每个 - Ruby

Ruby 语言提供了一种非常便捷的方式来获取数组或哈希表(Hash)的每个元素的索引和值,即通过使用索引映射(Enumerable#each_with_index)方法。

语法
enumerable.each_with_index { |obj, index| block }

其中,

  • enumerable 表示要迭代的对象,可以是数组、哈希表或任何 Enumerable 对象。
  • obj 表示当前迭代的元素。
  • index 表示当前元素的索引。
  • block 是一个代码块,可以用于处理每个元素。
例子
使用索引映射数组
fruits = ['apple', 'banana', 'cherry', 'date']

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

输出:

Fruit 0: apple
Fruit 1: banana
Fruit 2: cherry
Fruit 3: date
使用索引映射哈希表
scores = { 'Tom' => 50, 'Jim' => 60, 'Ben' => 70, 'Joe' => 80 }

scores.each_with_index do |(name, score), index|
  puts "No.#{index + 1}: #{name} (#{score})"
end

输出:

No.1: Tom (50)
No.2: Jim (60)
No.3: Ben (70)
No.4: Joe (80)
总结

使用索引映射可以轻松处理迭代过程中的元素索引,为数组和哈希表的元素遍历提供了更简便的方式。