Append new line to textfile

I want to create a text file and append a new line to the text file
everytime a new logline is completed, my program iterates and gives a
new log every few hours.

this is an example of my logline:
logline: 'completed' starttime 04:00 endtime 23:00

my goal is to have a text file populated with the following
'completed' starttime 04:00 endtime 22:00
'completed' starttime 06:00 endtime 01:00
'completed' starttime 05:00 endtime 23:00
'completed' starttime 09:00 endtime 23:00

so far this is my method...yes, I am a beginner. Thanks in advance. MC

File.open('logfile.txt')do |f1|
f1.logline
end

···

--
Posted via http://www.ruby-forum.com/.

File.open('logfile.txt', 'w+') do |f1| f1.write(logline)
end

···

On Fri, Nov 21, 2008 at 4:41 PM, Mmcolli00 Mom <mmc_collins@yahoo.com>wrote:

I want to create a text file and append a new line to the text file
everytime a new logline is completed, my program iterates and gives a
new log every few hours.

this is an example of my logline:
logline: 'completed' starttime 04:00 endtime 23:00

my goal is to have a text file populated with the following
'completed' starttime 04:00 endtime 22:00
'completed' starttime 06:00 endtime 01:00
'completed' starttime 05:00 endtime 23:00
'completed' starttime 09:00 endtime 23:00

so far this is my method...yes, I am a beginner. Thanks in advance. MC

File.open('logfile.txt')do |f1|
f1.logline
end
--
Posted via http://www.ruby-forum.com/\.

--
Shane Emmons

Shane Emmons wrote:

'completed' starttime 05:00 endtime 23:00

File.open('logfile.txt', 'w+') do |f1| f1.write(logline)
end

This will destroy the content of logfile.txt. For appending to a file
instead of overwriting it, use "a"

3.times do |n|
  logline = "logline #{n}"
  File.open('D:/temp/logfile1.txt', 'w+') do |f1|
    f1.puts(logline)
  end
  File.open('D:/temp/logfile2.txt', 'a') do |f1|
    f1.puts(logline)
  end
end

hth,

Siep

···

On Fri, Nov 21, 2008 at 4:41 PM, Mmcolli00 Mom > <mmc_collins@yahoo.com>wrote:

--
Posted via http://www.ruby-forum.com/\.

Eek! No, that's for a read/write file. You want a mode of 'a' for append. All write operations will first reposition to the end-of-file.

-Rob

Rob Biedenharn http://agileconsultingllc.com
Rob@AgileConsultingLLC.com

···

On Nov 21, 2008, at 4:58 PM, Shane Emmons wrote:

On Fri, Nov 21, 2008 at 4:41 PM, Mmcolli00 Mom > <mmc_collins@yahoo.com>wrote:

I want to create a text file and append a new line to the text file
everytime a new logline is completed, my program iterates and gives a
new log every few hours.

this is an example of my logline:
logline: 'completed' starttime 04:00 endtime 23:00

my goal is to have a text file populated with the following
'completed' starttime 04:00 endtime 22:00
'completed' starttime 06:00 endtime 01:00
'completed' starttime 05:00 endtime 23:00
'completed' starttime 09:00 endtime 23:00

so far this is my method...yes, I am a beginner. Thanks in advance. MC

File.open('logfile.txt')do |f1|
f1.logline
end

File.open('logfile.txt', 'w+') do |f1| f1.write(logline)
end
--
Shane Emmons

whoops, sorry about that.

···

On Fri, Nov 21, 2008 at 5:23 PM, Siep Korteling <s.korteling@gmail.com>wrote:

Shane Emmons wrote:
> On Fri, Nov 21, 2008 at 4:41 PM, Mmcolli00 Mom > > <mmc_collins@yahoo.com>wrote:
>
>> 'completed' starttime 05:00 endtime 23:00
>>
> File.open('logfile.txt', 'w+') do |f1| f1.write(logline)
> end
This will destroy the content of logfile.txt. For appending to a file
instead of overwriting it, use "a"

3.times do |n|
logline = "logline #{n}"
File.open('D:/temp/logfile1.txt', 'w+') do |f1|
   f1.puts(logline)
end
File.open('D:/temp/logfile2.txt', 'a') do |f1|
   f1.puts(logline)
end
end

hth,

Siep
--
Posted via http://www.ruby-forum.com/\.

--
Shane Emmons