Put the text variable back in, and try this at the end after the puts 
for the line count.

puts text


=]


On 19/04/11 17:04, Jim S. wrote:
> I am a total noob when it comes to programming. These last few days, I
> am learning ruby thanks to the book, 'beginning ruby, from novice to
> professional.' In page 96, chapter 4, developing a basic ruby app, it
> showed one other way to code to show number of lines in the file,
> 'text.txt.' (*see attached file)
>
> text=''
> line_count = 0
> File.open("text.txt").each do |line|
> line_count += 1
> text<<  line
> end
> puts "#{line_count} lines"
>
> I do not understand what the variable 'text' is for in the first, and
> fifth, lines of the code. The book explained it this way--
>
> "...Compared to your previous attempt, this code introduces the text
> variable and adds each line onto the end of it in turn. When the
> iteration over the file has finishedĦ½that is, when you run out of
> linesĦ½text contains the entire file in a single string ready for you to
> use."
>
> Since I did not understand what the variable 'text' was for, I removed
> it to see if I'll get something different. Removing that variable did
> not change anything--I still got the same number of lines.
>
> line_count = 0
> File.open("text.txt").each do |line|
> line_count += 1
> end
> puts "#{line_count} lines"
>
> Was the 'text' variable placed there in case there was more code to
> follow that might use that file? Removing that 'text' variable, I opened
> the file text.txt to see if the code somehow changed the file content.
> It didn't.
>
> Please enlighten...? Thanks!
>
> Attachments:
> http://www.ruby-forum.com/attachment/6132/text2.txt
>
>