0
0

More than 3 years have passed since last update.

「ruby」2重ハッシュの取り出し ※復習

Posted at
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キーのバリューを表示できる。

結果

見事に名前だけ出力することができました!!
1. eachメソッドを使用しない場合は1つずつ添字を指定しキーを連続で記述した
2. 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" }}}
]
0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0