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