Quantcast
Channel: 配列タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 833

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

$
0
0

【概要】

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.eachdo|student|putsstudent[:human][:gender][:name]end

これで全ての名前を呼び出すことができます。

もう一つの方法として、digメソッドがあります。

2
(省略)students.each{|student|putsstudent.dig(:human,:gender,:name)}

という書き方になります。
each do endの"do~end"がないのは、
eachは1番の書き方と2番の両方の書き方があります。

4.ここから学んだこと

全ての名前を出力したいと思った時に、配列なので
全ての配列の情報([0]~[2]の3つの情報)を取ろうかなと思いました。そして、3つの情報を変数に代入してputsで出力したらいいかなと思ったのですが、わざわざ配列を解除する意味がないと思いました。eachは配列の変数を1つずつ繰り返す処理になるのでdigも含め、まさにぴったりのメソッドでした。


Viewing all articles
Browse latest Browse all 833

Trending Articles