配列の内部に、複数のユーザーの情報をハッシュとして持つ変数user_dataがある。
そのuser_dataを利用して、全てのユーザーの名前だけが出力されるようにRubyで以下のひな型を利用し、以下の出力結果となるようにコーティングする問題。
ひな型
user_data = [
{user: {profile: {name: 'George'}}}
{user: {profile: {name: 'Alice'}}}
{user: {profile: {name: 'Taro'}}}
]
出力結果
George
Alice
Taro
以下、模範解答
user_data = [
{user: {profile: {name: 'George'}}}
{user: {profile: {name: 'Alice'}}}
{user: {profile: {name: 'Taro'}}}
]
user_data.each do |u|
puts u[:user][:profile][:name]
end
以下、解説
まずはハッシュから特定の値の取り出し方。
ハッシュ[:取得したい値のキー]
上記の書き方で取得することができる。
そして今回ハッシュが重なっているので以下のように取得したい値のキーまで連続して指定すると取得できる。
ハッシュ[:取得したい値のキー][:取得したい値のキー][:取得したい値のキー]
また、今回は配列の中にハッシュが格納されているのでeach文でハッシュの1つ1つを取り出して記述する必要がある。
user_data.each do |u|
puts u[:user][:profile][:name]
end