ruby 遍历数组并提取元素

标签 ruby arrays loops extract element

这是我正在尝试做的,但它不起作用。

array = [1,2,3,4,5]

array.each do |val1, val2, val3, val4, val5|
  puts "#{val1} topic is #{val2}, #{val3} topic is #{val4}, All topics ${val5}"
end

最佳答案

array.each 将为 array 中的每个元素执行一次 block (doend 之间的部分) ,每次都将该元素用作 block 的第一个参数。

这意味着第一次执行 block 时,val1将等于1,而val2val3 等将是 nil 因为只有一个值被传递给 block 。第二次执行该 block 时,val1 将等于 2val2val3 等每次都会是nil

如果要将数组的元素提取到变量中,则不需要循环。您需要做的就是:

val1, val2, val3, val4, val5 = array
puts "#{val1} topic is #{val2}, #{val3} topic is #{val4}, All topics #{val5}"

不过,这可能不是必需的,因为您可以在字符串插值 (#{...}) 中直接引用数组元素:

puts "#{array[0]} topic is #{array[1]}, #{array[2]} topic is #{array[3]}, All topics #{array[4]}"

关于ruby 遍历数组并提取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25555468/

相关文章:

ruby - Rails : I installed Ruby, 现在 "bundle install"不起作用

ruby - 为 Ruby 的内置关键字提供别名

python - 如何从字符串创建一个 numpy 数组?

ruby-on-rails - 使用 Rails 中的 mailman gem 接收来自多个帐户的电子邮件

ruby - 右键单击 Webkit View

java - while 循环中的扫描仪输入验证

linux - 在 BASH 中通过 Char 循环替换 Char

C# 有意循环。 (CPU 使用率低)

javascript - 使用顺序 for 循环遍历关联数组

c - 结构中的双指针