sea*_*ton 1 ruby arrays variables loops
我正在尝试让一个数组为两个变量赋值.
test = "hello, my,name,is,dog,how,are,you"
testsplit = test.split ","
testsplit.each do |x,y|
puts y
end
Run Code Online (Sandbox Code Playgroud)
我认为它会打印出来
my
is
how
you
Run Code Online (Sandbox Code Playgroud)
但似乎值只传递给x而不是传递给y.当我运行此代码时,y返回空.
Array#each每次迭代只传递一个项目(因此每次传递时x将从数组中分配一个值,而y将始终分配给nil).因此,您需要使用Enumerable#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
Run Code Online (Sandbox Code Playgroud)