RubyのHashクラスの使い方と特徴

どうも、Rubyをやっているものです。突然ですがHashっていまいちよくわからなくありませんか?そこで今回はRubyのHashについて簡単にまとめておきたいと思います。

Rubyのハッシュクラスの使い方と特徴

ハッシュって一体なんぞや

ハッシュとは「キーと値でデータの集まりを表現するオブジェクト」です!どーん!

とにかくハッシュにはキーと値があって、それらはセットになっているということですね。例えばキーがmelonで値がメロンみたいな感じですかね。

キーを使うことで、値にアクセスすることができるということです。以下の画像なら100円がキーとなっていて、値がバナナみたいな感じですね。

こうやってセットにして扱いたいときにHashが活躍します。

ハッシュの作り方

ハッシュは主に2つの作り方があります。細かいのは他にもありますが、とりあえず2つ覚えておけば大丈夫です。

  1. { }を使う方法
  2. Hash.newを使う方法

{ }を使う方法は以下のようにやってあげます。

コード
h1 = { "a" => "b" } # h2 = {a: b}でもOK

Hash.newを使う場合は以下のようにします。

コード
h1 = Hash.new
puts h1 #=> {}

Hash.newで値を取り出す、設定する

Hash.newを使用する場合には、以下のようにキーと値を設定します。

コード
h1 = Hash.new
h1["R"] = "Ruby"
puts h1["R"] #=> "Ruby"

同じようなことをstoreメソッドとfetchメソッドを使ってもできます。

コード
h1 = Hash.new
h1.store("R") = "Ruby"
puts h1.fetch("R") #=> "Ruby"

ハッシュ作成時にデフォルト値を設定する

Hash.newに引数を与えると、その値がデフォルト値として使われるので、覚えておくと便利です。

コード
h = Hash.new(1)
h["a"] = 10
puts h["a"] #=> 10
puts h["b"] #=> 1
puts h["c"] #=> 1

ハッシュにキーや値があるか調べる

以下のメソッドはよく出てくるので覚えておくと便利です。

Hashがあるオブジェクトをキーとして持っているか調べるメソッド

h.key?

h.has_key?

h.include?

h.member?

Hashがあるオブジェクトを値として持っているか調べるメソッド

h.value?

h.has_value?

キーと値を削除するメソッド

h.deleate

ハッシュを初期化するメソッド

h.clear

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA