def []= index, data
      if index > @size - 1
        # fill in the gaps
        ((index - @size) + 1).times do
          self.push nil
        end
        @last.data = data
      else
        # replace existing value
        current = @first
        index.times do
          current = current.next
        end
        current.data = data
      end
      self
    end
def []= index, data
      if index > @size - 1
        # fill in the gaps
        ((index - @size) + 1).times do
          self.push nil
        end
        @last.data = data
      else
        # replace existing value
        current = @first
        index.times do
          current = current.next
        end
        current.data = data
      end
      self
    end
Element Assignment - Sets the element at +index+ to
 +:data+