Rubyの配列とハッシュとシンボルを整理する

配列とハッシュとシンボルについて整理。

配列とハッシュの共通点

複数の値をまとめて管理するときに使います。

配列とハッシュの違い

配列は複数の値を並べて管理していきますが、ハッシュの場合は値と一緒に「キー」という名前もつけて一緒に管理します。

#配列
[80, 65]

#ハッシュ
[ "math"(キー) => 80(値), "English"(キー) => 65(値)] 

配列

複数の値がまとめて格納される際、各値に順番にインデックス番号がふられます。インデックス番号は値を取り出すのに使います。

subject = [80,65]
puts subject
puts "---"
puts subject[0]
puts subject[1]


#実行結果
80
65
---
80
65

シンボル

キーの部分をシンボルに変更した場合、値を得る時は、シンボルを指定して値を得ることになります。

subject = {:math => 80, :English => 65}
puts subject[:math]

#実行結果
80

シンボルには三通りの書き方があります。

#「キー」が文字列
{"math" => 80, "English" => 65}

#「キー」がシンボル
{:math => 80, :English => 65}

#「キー」がシンボルであり、省略形
{math: 80, English: 65}

配列とハッシュを組み合わせて記載

配列とハッシュを組み合わせて書くことも可能です。

subjects = [
  {subject: "math", score: 80},
  {subject: "english", score: 65}
  ]

puts subjects[0][:subject]
puts subjects[0][:score]
puts subjects[1][:subject]
puts subjects[1][:score]

#実行結果
math
80
english
65