配列とハッシュとシンボルについて整理。
配列とハッシュの共通点
複数の値をまとめて管理するときに使います。
配列とハッシュの違い
配列は複数の値を並べて管理していきますが、ハッシュの場合は値と一緒に「キー」という名前もつけて一緒に管理します。
#配列
[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