0

私はハッシュにこのデータ構造を持っています:

[{"name"=>"Peter", "surname"=>"Green"}, {"name"=>"Jane", "surname"=>"Miller"}]

しかし、このハッシュを使用しようとすると、たとえば次のようになります。

puts hash.count # returns nothing
hash.each do |data|
  puts data.name # => undefined method `name' for #<Hash:0x00000104bcf9f8>
end

私は何が欠けていますか?

4

1 に答える 1

3

Array#count引数なしで要素の数を返す必要がありますが、lengthまたはを使用する方が自然sizeです。そしてHash、メソッドはありませんname

puts hash.length
hash.each do |data|
  puts data["name"]
end

ちなみに、あなたが参照しているのhashは実際には配列であり、混乱を招きます。

于 2013-02-22T10:46:25.673 に答える