0

这是一个奇怪的情况,希望你能帮助我一个原因:

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 拆分为两个字符串并附加到打开的 gem。感谢您分享您的意见。

4

1 回答 1

1

问题是 后面的空格open,它与代理映射条目无关。

于 2012-05-24T22:58:09.383 回答