0

我正在创建一个基本的刮刀,它可以获取每个州的总救济金额,然后显示它,但是我收到了一个我不明白的错误。你能帮我修复我的程序吗?

require 'rubygems'
require 'crack'
require 'open-uri'

URL = 'http://www.recovery.gov/pages/GetXmlData.aspx?data=recipientHomeMap'

Crack::XML.parse(open(URL).read)['totals']['state'].each do |state|
  puts ['id', 'awarded', 'received', 'jobs'].map{|f| state[f]}.join(', ')
end

rb:7:in ' : nil:NilClass(NoMethodError) 的未定义方法 '[]'

4

2 回答 2

0

检查Crack::XML.parse(open(URL).read)返回什么

于 2013-07-24T18:03:23.363 回答
0

你没有得到任何回报Crack::XML.parse(open(URL).read)

您正试图从中访问nilundefined method '[]' for nil:NilClass

确保您实际上是首先获取文件。

于 2013-07-24T18:05:40.530 回答