【概要】
1.結論
2.二重ハッシュとは何か
3.どのように使用するのか
4.ここから学んだこと(エラーの時に使用)
1.結論
二重ハッシュと配列を使い、eachメソッドを使用する!
2.二重ハッシュとは何か ---------------------------------------- ハッシュの中にハッシュが入っている状態のことで つまり、下記のことをいいます!
student = {human: {gender: {name: 'John'}}}
3.どのように使用するのか ---------------------------------------- ハッシュと配列の組み合わせは簡単だと思います!
students = [
{human: {gender: {name: 'John'}}},
{human: {gender: {name: 'Nick'}}},
{human: {gender: {name: 'Alan'}}},
]
配列の中に、2.にあったものを入れるだけで上記のものになります。
そして、名前を呼び出す際にeachメソッドを使用します。
そうしなければ全部の名前は呼び出せません。
1
students = [
{human: {gender: {name: 'John'}}},
{human: {gender: {name: 'Nick'}}},
{human: {gender: {name: 'Alan'}}},
]
students.each do |student|
puts student[:human][:gender][:name]
end
これで全ての名前を呼び出すことができます。
もう一つの方法として、digメソッドがあります。
2
(省略)
students.each {|student| puts student.dig(:human, :gender, :name)}
という書き方になります。
each do endの"do~end"がないのは、
eachは1番の書き方と2番の両方の書き方があります。
4.ここから学んだこと
全ての名前を出力したいと思った時に、配列なので
全ての配列の情報([0]~[2]の3つの情報)を取ろうかなと思いました。そして、3つの情報を変数に代入してputsで出力したらいいかなと思ったのですが、わざわざ配列を解除する意味がないと思いました。eachは配列の変数を1つずつ繰り返す処理になるのでdigも含め、まさにぴったりのメソッドでした。