I wanted to write some code that would update a counter stored
in a file. The following code works just fine ...
File.open("counter", File::CREAT | File::RDWR) do |f|
f.flock(File::LOCK_EX)
count = f.gets.to_i
f.rewind
f.puts count + 1
end
.... but I orginally wrote the File.open() as ...
File.open("counter", "w+")
and the f.gets seemed to return an empty string every time,
irrespective of whether the file already existed, and even if
I put an extra f.rewind before it (although, I thought that was
redundant).
Is there a string-style mode that's equivalent to the specific
mode flags I've use above?