Another approach would be to define your own function for adding a value to the array.
class Array
def addpad(index,newval)
concat(Array.new(index-size,0)) if index > size
self[index] = newval
end
end
a = [1,2,3]
a.addpad(10,2)
a => [1,2,3,0,0,0,0,0,0,0,2]