From: Sam Duncan Date: 2011-04-19T14:07:57+09:00 Subject: Re: effect of variable 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 > >