配列とハッシュ
配列はpythonでいうところのリスト、ハッシュはpythonでいうところの辞書に近いイメージ。
しかしrubyでは配列の中にハッシュを入れられる(というかハッシュを配列できる)仕組みがあり、これはpythonのリスト、辞書の関係とは異なる部分だと思う。
カープ選手に当てはめてみてみよう
変数carp_playersという配列の中に、{name:"選手名", number:背番号}というハッシュを作り、それを何名か並べてみた。
carp_players =[{name:"uemoto", number:0},
{name:"tanaka", number:2},
{name:"kokubo", now_in:"yuu"}]
#最後の小窪選手だけ、背番号ではなくnow_inキーをつけて"yuu"という値を与えた。
#悪口ではない、2軍の由宇球場で頑張っていないで早く1軍で活躍してくれというエールの意味だ。
#それでは実験①
ground = carp_players[0]
puts ground[:name] # => uemoto
#実験②
ground = carp_players[1]
puts ground[:number] # => 2
#実験③
ground = carp_players[2]
puts ground[:number] # => (何も出てこない)
#実験④
ground = carp_players[2]
puts ground[:now_in] # => yuu
結論
配列の中のハッシュ同士のキーは必ずしも合わせないといけない訳ではない。
そして入ってるキーを指定すればちゃんと値が出てくる。