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.
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.
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.