Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
Re: maybe I don't understand the .to_a method...
Philip Hallstrom
7/19/2006 5:51:00 PM
1 Answer
Adam Shelly
7/19/2006 7:07:00 PM
0
Http requests return a two-element array with the response and the data.
try :
def testget filename
#...
response,data = Net::HTTP.start(url.host, url.port) {|http| http.request(req) }
data
#
test = testget(filename).split
-Adam
On 7/19/06, John Fink <john.fink@gmail.com> wrote:
> On 7/19/06, Philip Hallstrom <ruby@philip.pjkh.com> wrote:
> >
> > > I'm attempting to write a little program that uses the Net::HTTP library
> > to
> > > fetch a text file. The text file has lines broken up by newlines, and I
> > > thought I could use the .to_a method to convert a variable into an
> > array,
> > > but when I do it it puts the entire text file into the first marker on
> > the
> > > array, and the rest are nil.
> > >
> > > Here's the program. I know I'm missing something grotesquely obvious,
> > and
> > > thanks in advance for beating me with the clue stick.
> > >
> > > What I expected was for test to return what it returns, but test2[0] to
> > > return "This" and test2[1] to return "is". Test2[0] returns identical
> > > results to test.
> > >
> > > jf
> > > ---
> > >
> > > require 'net/http'
> > > require 'uri'
> > >
> > > filename = 'test.txt'
> > >
> > > def testget(filename)
> > > url = URI.parse('
http://vineland.lib.muohio...
+ filename )
> > > req = Net::HTTP::Get.new(url.path)
> > > res = Net::HTTP.start(url.host, url.port) {|http| http.request(req) }
> > > end
> > >
> > > test = testget(filename)
> > > test2 = test.to_a
> >
> > test2 = test.split(/[\n\r]+/)
> >
> > > puts test
> > > puts test2[0]
> > > puts test2[1]
> >
> > that would "eat" blank lines though, but gets you closer...
> >
> >
> >
>
> Aha, split. I've now tried split on arbitrary lines in irb, and it works on
> them. But trying split in my little program here yields the following
> error:
>
> testget.rb:13: private method `split' called for #<Net::HTTPOK 200 OK
> readbody=true> (NoMethodError)
>
> Googling this hairy error gives me no leads.
>
> jf
>
>
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
Re: maybe I don't understand the .to_a method...
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password