Effect of variable

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

···

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

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

Yep - that was there in case you wanted to use the actual text of the
file in some way, such as searching it for a word, counting characters, etc.

I hope you enjoy Ruby!

Michael Edgar
adgar@carboni.ca
http://carboni.ca/

···

On Apr 19, 2011, at 1:04 AM, Jim S. wrote:

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.

thanks!

···

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