1
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 3 years have passed since last update.

同じカテゴリーで、複数の名前を一括で呼び出す方法

Last updated at Posted at 2020-08-25

【概要】

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も含め、まさにぴったりのメソッドでした。

1
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
1
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?