0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

二重ハッシュの出力

Posted at

今日も復習でアウトプットします!

問題.
配列の内部に、複数のユーザーの情報をハッシュとして持つ変数のname値を出力せよ。出力結果は次のようになるものとする。

book_data = [
 {book: {item: {name: 'ten'}}},
 {book: {item: {name: 'chi'}}},
 {book: {item: {name: 'nodo'}}},
]
出力結果
ten
chi
nodo
解答
book_date.each do |n|
puts n[:book][:item][:name]
end

解説

ハッシュから特定の値を取得する場合は、その値に対応するキーを指定。
二重ハッシュから特定の値を取得する場合は、取得したい値のキーまで連続して指定すると取得可能。

取得方法
ハッシュ[取得したい値のキー]

#二重ハッシュ
ハッシュ[取得したい値のキー][取得したい値のキー]

#今回はname値取得のため下記となる
ハッシュ[:book][:item][:name]

応用で、digメソッドを用いても取得できる。
「digメソッドとは?』
Rubyに標準で組み込まれているメソッドで、多重階層にあるハッシュの値をまとめて取得できる。

解答
user_data.each{ |n| puts u.dig(:book, :item, :name) }

綺麗なのはdigなのかな。

0
0
0

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?