[Ruby]ハッシュを作る/取り出す・入れる・回す

0
654
views

ハッシュの作成ポイントは次の通りです。

原則 内容
利用記号 要素を { } (波カッコ、ブレイス)で囲む
キー・バリュー 「キー」と対応する「値」を指定する
キー キーは文字列、またはシンボル
バリュー

値はオブジェクト
表記方法

指定は「キー => 値」という形式でおこなう

実際に作ってみる

ハッシュの初期化をしてみます。

empty_hash1 = {}
empty_hash2 = Hash.new()

基本構文

キーは文字列、またはシンボルを使います。ハッシュ内容の指定は「キー => 値」という形式でおこないます。

months = {"January" => 1, "February" => 2}
months = { :first => "January", :second => "February"}

糖衣構文

上記のシンボルをキーにしたハッシュの生成には、下記のように可読性の高い書き方が用意されています。

months = {first: "January", second: "February"}
  key/valueの指定方法
書き方① :シンボル名 => “値”
書き方② シンボル名: “値”

取り出し方

p months[:first]
"January"
  valueの取得方法
書き方 ハッシュ名[:シンボル名]

セット方法

p months[:first]
months[:first] = 1
p months[:first]
"January"
1
  valueの取得方法
書き方 ハッシュ名[:シンボル名]

繰り返し

months.each do |キーの変数, 値の変数|
  繰り返したい処理
end
months = {first:   "January", second:   "February", third:    "March",
          fourth:  "April",   fifth:    "May",      sixth:    "June",
          seventh: "July",    eighth:   "August",   nineth:   "September",
          tenth:   "October", eleventh: "November", twelveth: "December"}

months.each do |key, value|
    p "#{key}=#{value}"
end
"first=January"
"second=February"
"third=March"
"fourth=April"
"fifth=May"
"sixth=June"
"seventh=July"
"eighth=August"
"nineth=September"
"tenth=October"
"eleventh=November"
"twelveth=December"