user_data = [
{user: {profile: {name: 'Choco'}}},
{user: {profile: {name: 'Ramune'}}},
{user: {profile: {name: 'Sakura'}}},
]
ここからeachメソッドを使って全てのユーザーの名前を出力したいと思います。
ハッシュから特定の値を取得する場合はその値に対応するキーを指定します。
ハッシュ[取得したい値のキー]
2重ハッシュから特定の値を取得する場合は、取得したい値のキーまでを連続して指定します。
ハッシュ[取得したい値のキー][取得したい値のキー]
冒頭の記述では配列の中にハッシュが格納されています。
ハッシュの1つ1つを取り出すためにeach文を用いて記述します。
user_data.each do |x|
puts x[:user][:profile][:name]
end
ブロック変数をxとしました。
Rubyファイルの記述をまとめるとこのようになります。
user_data = [
{user: {profile: {name: 'Choco'}}},
{user: {profile: {name: 'Ramune'}}},
{user: {profile: {name: 'Sakura'}}},
]
user_data.each do |x|
puts x[:user][:profile][:name]
end
ターミナルでファイルを実行すると、順番にブロック変数xに代入されていき、全てのユーザーの名前が出力されます。
Choco
Ramune
Sakura
補足
※digメソッドを使って取り出す方法もあります。その場合は以下のような記述になります。
user_data.each{ |x| puts x.dig(:user, :profile, :name) }