这是一个奇怪的情况,希望你能帮我一个理由:
require "open-uri"
class TraceParser
def starttorip
url = 'http://yahoo.com'
proxy_addr = 'http://my proxy server:'
proxy_port = 1010
begin
open(url, :proxy => (proxy_addr + proxy_port.to_s)) do |source|
source.each_line do |x|
puts x
end
end
end
end
varb = TraceParser.new
varb.starttorip
end
上面的代码就像一个魅力,一切都很美好。但是,当我将代理定义更改为这样的内容时:
require "open-uri"
class TraceParser
def starttorip
url = 'http://yahoo.com'
begin
open (url, :proxy => 'http://my proxy server:1010') do |source|
source.each_line do |x|
puts x
end
end
end
end
varb = TraceParser.new
varb.starttorip
end
一切都松了:
/tracerparser.rb:6: syntax error, unexpected ',', expecting ')' (SyntaxError)
open (url, :proxy => "my proxy server...
据我所知,第一个是将代理defn分成两个字符串并附加到open gem。感谢您分享您的意见。
答案 0 :(得分:1)
问题是open
之后的空格,它与代理地图条目无关。