Запись в файл с использованием метода строки .insert - PullRequest
2 голосов
/ 16 мая 2011

Лучший способ написания кода для определенной точки в файле с использованием режима r+ и метода .insert?

gets.chomp используется и присоединяется к переменной с именем x именно такпеременная и назначенная строка, которая должна быть вставлена ​​в определенную позицию при записи в файл.

Спасибо

1 Ответ

0 голосов
/ 17 мая 2011

Вы можете заменить или вставить материал в файл.Выделите «Изменение файла на месте без временного файла» на Pleac .Это хрупкое и не считается хорошей практикой.Обычный способ:

  • чтение исходного файла
  • Изменение содержимого в памяти
  • Запись во временный файл
  • (Необязательно) переименуйте исходный файл во что-то вроде orig_file.old
  • Переименуйте временный файл в исходное имя файла.

Таким образом минимизируется вероятность потери данных в случаеpowerouts и тому подобное.

Обновление: согласно вашему комментарию вам нужно что-то вроде

File.open('test.txt', 'r+') do |f|
  str = f.read
  f.rewind
  f.write( str.insert(6, ' HI THERE '))
end
...