小编典典

在 Ruby 中遍历数组的“正确”方法是什么?

all

PHP,尽管它的所有缺点,在这方面还是相当不错的。数组和哈希之间没有区别(也许我很天真,但这对我来说显然是正确的),并且迭代你只是做

foreach (array/hash as $key => $value)

在 Ruby 中有很多方法可以做这种事情:

array.length.times do |i|
end

array.each

array.each_index

for i in array

哈希更有意义,因为我总是使用

hash.each do |key, value|

为什么我不能对数组执行此操作?如果我只想记住一种方法,我想我可以使用each_index(因为它使索引和值都可用),但是不得不这样做array[index]而不是仅仅value.


哦对了,我忘了array.each_with_index。然而,这个很糟糕,因为它去去去|value, key|去!这不是疯了吗?hash.each``|key, value|


阅读 61

收藏
2022-03-25

共1个答案

小编典典

这将遍历所有元素:

array = [1, 2, 3, 4, 5, 6]
array.each { |x| puts x }

# Output:

1
2
3
4
5
6

这将遍历所有元素,为您提供值和索引:

array = ["A", "B", "C"]
array.each_with_index {|val, index| puts "#{val} => #{index}" }

# Output:

A => 0
B => 1
C => 2

从你的问题中我不太确定你在找哪一个。

2022-03-25