From: Peter Lane Date: 2011-11-27T22:43:52+09:00 Subject: Re: Creating 2-D array from 1-D array Here are some suggestions, which should help reduce the use of indices and local variables. When constructing the array b, you don't need to reference a position. You can start with an empty array, and push the new pairs onto the end: instead of b = Array.new, write b = [] instead of b[k] = [a1, a2], write b << [a1, a2] That gets rid of k. To get the pairs, I suggest you investigate 'slice'. e.g. a.slice(0, 2) returns a two-element array from the 0th position of a: [1, 2] You will also need to change your looping mechanism if you use slice, but you should be able to get rid of a1 and a2. -- Posted via http://www.ruby-forum.com/.