Hi,

The default line separator is a newline ("\n"), but if you want to
change it, try f.each_line("\r") instead.

							matz.

In message "Re: [ruby-core:35534] [Ruby 1.9 - Bug #4515][Open] File.each_line read all lines of file as one line"
    on Mon, 21 Mar 2011 22:05:34 +0900, Yen-Nan Lin <redmine / ruby-lang.org> writes:

|I access a tab-delimited text file from Excel, the text file is 5 lines in my editors (TextEdit, TextWrangler).
|
|However, when I use File.each_line to read it, this method only iterate once and combine 5 lines to 1 line.
|
|I expect my code to puts count = 5, but it print 1.
|
|Below is my code, the test2.txt file is in attachment if you need. 
|
|----------------------------------------------------
|
|filePath = "test2.txt"
|
|data = Array.new
|
|File.open(filePath, 'r') do |f|
|	count = 0
|	f.each_line do |line|
|		data << line.split.map { |entry| entry.to_i }
|		count += 1
|	end
|	puts count	
|end
|
|----------------------------------------------------------
|
|I find a solution in http://railsforum.com/viewtopic.php?id=15582
|
|But I think this bug should be solved.
|
|Thank you very much!!
|
|Yen-Nan Lin
|
|
|-- 
|http://redmine.ruby-lang.org
|