2012-04-09 14 views
1
require 'open-uri' 
print "Enter a URL" 
add = gets 
open(#{add}) do |f| 
    j = f.read.scan(/<img/) 
    jlen = j.length 
    puts jlen 
end 

私のコードはありますか? 何らかの理由で、ルビーが私にエラーを与えています:findimages.rb:8: syntax error, unexpected kEND, expecting $end なぜですか?

+2

「私はあなたのソースコードを見ていましたが、ファイルの終わりを見たいと思っていましたが、代わりに 'end'が見つかりました。 – Phrogz

答えて

5

#{}は、補間された文字列内でのみ機能します。 open(add)を使用してください(または完全に正確ですが、完全に不要なopen("#{add}"))。あなたは文字列に変数を補間する#{}を使用しようとしている

open(#{add}) do |f| 

ますが、文字列の外:

4
この行で

#がコメントの開始として解釈され、残りの行はコメントとして扱われます。

ここではaddを文字列補間なしで直接使用できます。

+0

私はレクサーが正しいparenの代わりに '$ end'を探していたのはちょっと奇妙です。 – Phrogz

+0

@Phrogzこれを同様のプログラムでテストしたところ、欠落しているparenに関するエラーと '$ end'に関するエラーがありました。私は、最初のエラーがパーサを混乱させてしまうので、2番目のエラーは間違っていると仮定しています。 –

関連する問題