`[]':无法将String转换为Integer(TypeError)

时间:2015-01-03 04:13:15

标签: ruby arrays hashtable

我有一个数组:

sheets # => [{"id"=>3, "subject"=>"www", "body"=>"www", "target_groups"=>"www", 0=>3, 1=>"www", 2=>"www", 3=>"www"}]

我正在尝试调用此数组中的某个元素。我尝试了以下方法:

puts sheets[2] # => nil
puts sheets["subject"] # =>  `[]': can't convert String into Integer (TypeError)
puts sheets["subject.to_i"] # => `[]': can't convert String into Integer (TypeError) also.

帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

哈希对象在数组中。

您需要先获取哈希对象(sheets[0]),然后您可以使用密钥来获取所需的项目:

sheets = [{"id"=>3, "subject"=>"www", "body"=>"www",
          "target_groups"=>"www", 0=>3, 1=>"www", 2=>"www", 3=>"www"}]
sheets[0]["subject"]
# => "www"
相关问题