2012-04-09 62 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 2012-04-09 19:08:20

回答

5

#{}僅適用於內插字符串。使用open(add)(或完全正確,但完全不必要open("#{add}"))。

4

在此行中:

open(#{add}) do |f| 

您正在嘗試使用#{}一個變量內插成一個字符串,而是一個字符串之外。 #被解釋爲評論的開始,並且該行的其餘部分被視爲評論。

您可以直接在這裏直接使用add,不需要任何字符串插值。

+0

我確實發現詞法分析器尋找'$ end'而不是一個正確的paren有點奇怪。 – Phrogz 2012-04-09 19:20:02

+0

@Progro當我用一個類似的程序測試了這個,我得到了一個關於缺少的paren的錯誤,以及關於'$ end'的錯誤。我假設第一個錯誤讓解析器感到困惑,所以第二個錯誤是虛假的。 – 2012-04-09 23:20:38

相關問題