Alex Young wrote:
> Cd Cd wrote:
>>         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

But if I go something like
#!/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")
 b = response.body
 p b
end


'b' will print out the body of the web page. So 'b' in this case would 
be become the receiver (ie imgs = b.scan(/<img src="(.*?)"/m)), then we 
go from getting the value 'b' (via p b)  to 'b' acting like a method 
(via imgs = b.scan(/<img src="(.*?)"/m))?
-- 
Posted via http://www.ruby-forum.com/.