2011-01-26 68 views
0

好吧添加前置文本,这里是我的代码:
(@wsource是进入网站的源代码)创建扫描进入阵列和红宝石

@barray = @wsource.scan(/(xxxx:|[\/|.|\w|\s]*\.(?:jp?g|gif|png))/i) 
puts @barray.collect! {|x| "http:" + x} 

首先,@wsource扫描图像的URL 。然后,他们在没有前面的HTTP返回:(其中应该有)试图做线上的两个回报

C:/Users/myself/workspace/Test/ripper.rb:51:in `+': can't convert String into Array (TypeError) 

虽然红宝石文档说.scan返回数组,这似乎是在这里返回一个字符串。任何帮助,无论是与正则表达式或添加http:赞赏!

回答

1

"http:" + x,x是一个捕获数组。试试这个:"http:" + x.first

+0

工作完美!谢谢一个男人。 – user451711 2011-01-26 19:31:44