配列に 2 つの変数に値を割り当てさせようとしています。
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
空に戻ります。
Array#each
反復ごとに1つのアイテムのみを渡します(したがって、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
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