2011-01-26 7 views
0

さてさて、ここに私のコードがある中で、先行するテキストを追加作成:
(@wsourceが入力されたウェブサイトのソースコードである)画像URLのスキャンアレイに行くとルビー

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

まず、@wsourceスキャンを。その後、彼らは、前のhttpなしで返されます(存在であるべきである。)ラインに2つのリターン

をやろうとし
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