Forum: Ruby How to import text file and split it up by lines

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Al C. (Guest)
on 2007-07-02 05:58
Hello,

Im attempting to analyze a text file, but having trouble splitting it up
into lines (into an array that indexes each line).  Then I would like to
print every line.

Here is what I got:

f = File.open("/Users/john/Desktop/text.txt")

f_lines = f.split("\n")

puts f_lines


And here is the error Im getting:
NoMethodError: private method ‘split’ called for
#<File:/Users/john/Desktop/text.txt>


Dont know why this isnt working.  Should be simple enough...

Can someone help please?
Vasco A. (Guest)
on 2007-07-02 06:03
Al Cholic wrote:
> Hello,
>
> Im attempting to analyze a text file, but having trouble splitting it up
> into lines (into an array that indexes each line).  Then I would like to
> print every line.
>
> Here is what I got:
>
> f = File.open("/Users/john/Desktop/text.txt")
>
> f_lines = f.split("\n")
>
> puts f_lines
>
>
> And here is the error Im getting:
> NoMethodError: private method ‘split’ called for
> #<File:/Users/john/Desktop/text.txt>
>
>
> Dont know why this isnt working.  Should be simple enough...
>
> Can someone help please?
Hi,

you forgot to 'read' file.

f = File.open("/Users/john/Desktop/text.txt")

f_lines = f.read.split("\n")

puts f_lines

Note: you have also 'each_line' in IO, IOString, String, etc.

Vasco Andrade e Silva
Robert D. (Guest)
on 2007-07-02 10:17
(Received via mailing list)
On 7/2/07, Vasco Andrade e Silva <removed_email_address@domain.invalid> wrote:
>
> f = File.open("/Users/john/Desktop/text.txt")
>
> f_lines = f.read.split("\n")

There is a convenient shortcut
File.readlines("/User/....")
>
HTH
Robert
Al C. (Guest)
on 2007-07-02 11:20
> f_lines = f.read.split("\n")

Thanks man!
This topic is locked and can not be replied to.