ruby.rb
user_data = [
{
user: {
profile: {
name: 'takeshi'
}
}
},
{
user: {
profile: {
name: 'tanaka'
}
}
},
{
user: {
profile: {
name: 'tosiki'
}
}
}
]
#内容
上記のコードには配列の中に個別のデータが二重ハッシュで存在します。
ユーザー名だけを全て順番にしたい!!!
#実装
###1.
ruby.rb
#eachメソッド
使用しないパターン
puts user_date[0]["user"]["profile"]["name"]
puts user_date[1]["user"]["profile"]["name"]
puts user_date[2]["user"]["profile"]["name"]
###2.
ruby.rb
#eachメソッド使用パターン
user_date.each do |date|
puts date [:user][:profile][:name]
end
#####!重要
ハッシュが複数重なっている時はハッシュの1番最初の”キー”から順に連続で表示したいキーまで指定していくことでnameキーのバリューを表示できる。
#結果
見事に名前だけ出力することができました!!
- eachメソッドを使用しない場合は1つずつ添字を指定しキーを連続で記述した
- eachメソッドを使用し簡潔にキーを連続で指定することができた
???????????@MacBook-Pro ruby % ruby posi.rb
takeshi
tanaka
tosiki
#考察
1番上のコードの記載方法だと見にくく感じるは初心者だからなのかもしれないが、下記の様なコードの記述方法に変換して見た、、、
user_date = [
{ user: { profile: { name: "takeshi" }}},
{ user: { profile: { name: "tanaka" }}},
{ user: { profile: { name: "tosiki" }}}
]