Я зачитал файл и изменил его, но на диске его содержимое не поменялось

  open("example", "r+").readlines.each_with_index do |line, i| 
    line[0,0] = (i+1).to_s + ": "
  end

Эта программа не добавляет номера строк в файл example. Файл действительно читается, и к каждой строке добавляется ее номер, но эти данные не записываются назад в файл. Код ниже изменяет файл(хотя и несколько рискованно, так как перед изменением файла не делается его копия):

  File.open("example", "r+") do |io|
    ary = io.readlines
    ary.each_with_index {|l, i| l[0,0] = (i+1).to_s + ": "}
    io.rewind
    io.print ary
  end