как увеличить счетчик, записанный в файл в ruby - PullRequest
1 голос
/ 05 июля 2010

Я подсчитываю, сколько раз модуль не попадает в файл.поэтому, когда это не удается, я открываю файл, увеличиваю число в файле и закрываю его.Как я могу это сделать, открыв файл только один раз вместо того, чтобы открыть его дважды для чтения и еще один для записи.

Спасибо

1 Ответ

4 голосов
/ 05 июля 2010

Предполагается, что файл с именем counter.txt находится в том же каталоге, из которого вызывается скрипт. В файле не должно быть ничего, кроме номера.

File.open 'counter.txt' , 'r+' do |file|
  num = file.gets.to_i
  file.rewind
  file.puts num.next
end

По сути, открывает файл 'counter.txt' для чтения и записи, начиная с начала файла Он использует блочную форму открытия, чтобы обеспечить файл закрыто, когда это сделано. Он получает число , а затем преобразует его в целое число , чтобы получить текущий счет. перематывает указатель файла так, чтобы он снова находился в начале файла (потому что мы хотим записать поверх старого числа). Затем выводит в файл увеличенное число.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...