how do i use a loop to fill an array?

Just a little help, you're thinking about loops to fill arrays, and that is where you're getting stuck. In ruby, most "loops" are iterators/closures, so I think you could start thinking about closures. For example, the Array.new expects a parameter and a block, or two parameters. So, if you want an array with 10 values, and set all values to "string", for example, you could use:

Array.new(10, "string")

Otherwise, if you want to populate the array based on the index of each element, you could use the block version:

Array.new(26) { |index| index }

The block will "iterate", starting on index 0 and ending on index 25 (26 elements) and return the index value. If you wanted, for example, an array with the square of 0 through 10 you could use:

Array.new(11) { |index| index * index }

In your example, like Tony said, you could convert a range to a array.