单个哈希的多变量赋值

时间:2013-10-02 15:49:24

标签: ruby arrays variables loops

我正在尝试让一个数组为两个变量赋值。

test = "hello, my,name,is,dog,how,are,you"
testsplit = test.split "," 
testsplit.each do |x,y|
  puts y
end

我认为它会打印

my
is
how
you

但似乎值只传递给x而不传递给y。当我运行此代码时,y将返回空白状态。

2 个答案:

答案 0 :(得分:5)

Array#each每次迭代只传递一个项目(因此每次传递都会为数组赋值x,而y将始终分配给nil)。因此你需要使用{{1}参数为2的方法。

Enumerable#each_slice

答案 1 :(得分:4)

您可以使用each_slice一次获取2个元素:

test = "hello, my,name,is,dog,how,are,you"
testsplit = test.split "," 

testsplit.each_slice(2) do |x,y|
  puts y
end

# =>  my, is, how, you