Cd Cd wrote:
> I have the following
> 
> #!/usr/bin/ruby -w
> 
> require 'net/http'
> 
> h=Net::HTTP.new('www.pragmaticprogrammer.com',80)
> response=h.get('/index.html',nil)
> 
> if(response.message=="OK")
>         puts response.body.scan(/<img src="(.*?)"/m).uniq
> end
> 
> I know you can add methods to an existing class, but in the above code,
> there is the following:
> 
> puts response.body.scan(/<img src="(.*?)"/m).uniq
> 
> I don't get how the methods are being added to the class in this case.
> Is uniq() being added to scan(), the being added to body() which in turn
> is added to the response object?
They aren't being added to a class so much as called on the result of 
each method call.  You could rewrite it like this:

b = response.body
imgs = b.scan(/<img src="(.*?)"/m)
uniq_imgs = imgs.uniq
puts uniq_imgs

HTH

-- 
Alex