ruby - 在 Ruby 中迭代数组的 "right"方法是什么?

标签 ruby arrays loops

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| !这不是疯了吗?

最佳答案

这将遍历所有元素:

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

根据你的问题,我不太确定你要找的是哪一个。

关于ruby - 在 Ruby 中迭代数组的 "right"方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/310634/

相关文章:

ruby-on-rails - Ruby on Rails, bundle 部署 dreamhost

ruby-on-rails - 在轮询器中异步运行代码

php - 阵列问题

arrays - 戈朗 : calculate diff between two array of bytes and patch an array

arrays - MATLAB:迭代循环数组

ruby - 字符串 "#$"和 "#@"的语法错误

ruby - 如何设置 Hook 以在 Ruby 类定义的末尾运行代码?

c - 随机打乱一组字符串

loops - 比较列表中的所有元素并获取匹配对的可变引用

function - 如何使用变量或函数来记住Powershell提示中的输入?