この記事は90%~100%ChatGPTで作られています。
このブログではAffinger5を使用しています。
はじめに
Rubyのハッシュについて解説します。
ハッシュはキーと値のペアでデータを管理するためのデータ型で、他のプログラミング言語では連想配列やディクショナリと呼ばれることもあります。
本記事では、ハッシュの基本的な使い方から応用的な使い方までを解説します。

ハッシュの初期化
ハッシュの定義
ハッシュは中括弧{}を使って定義します。
各要素はキーと値のペアとして記述し、コロン(:)を使ってキーと値をつなげます。
要素と要素の間はカンマ(,)で区切ります。
1 2 |
hash = { "apple" => "red", "banana" => "yellow", "grape" => "purple" } puts hash |
出力結果
{"apple"=>"red", "banana"=>"yellow", "grape"=>"purple"}

Rubyをさらに学びたい方へ
Rubyを理解して頂くために参考書を執筆致しました!
Rubyの配列、イテレータ、ブロックパラメータなどを学びたい方にオススメの本となっています。演習問題をたくさん用意しているので、実践形式で理解しやすい内容となっています。
下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!
⇩初心者向け ⇩中級者向け
RubyでChatGPTAPIを使ってブログ作成を自動化しませんか?
ハッシュの初期化
空のハッシュを作るには{}をそのまま使うか、Hash.newを使います。
1 2 3 4 |
hash1 = {} hash2 = Hash.new puts hash1 puts hash2 |
出力結果
{} {}

ハッシュの要素の取得
キーを使った取得方法
ハッシュの要素を取得するには、キーを指定します。
キーを指定する方法は2つあります。
一つ目は、ハッシュ名[キー]の形で指定する方法です。
二つ目は、ハッシュ名.fetch(キー)の形で指定する方法です。
1 2 3 |
hash = { "apple" => "red", "banana" => "yellow", "grape" => "purple" } puts hash["apple"] puts hash.fetch("banana") |
出力結果
red yellow

fetchメソッドの特徴
ハッシュ.fetch(キー)の特徴は、指定したキーが存在しない場合にエラーを発生させることです。
しかし、エラーを発生させずにデフォルト値を指定することも可能です。
1 2 |
hash = { "apple" => "red", "banana" => "yellow", "grape" => "purple" } puts hash.fetch("orange", "not found") |
出力結果
not found

ハッシュの要素の追加
ハッシュに新しい要素を追加するには、ハッシュ名[新しいキー] = 値 の形で指定します。
1 2 3 |
hash = { "apple" => "red", "banana" => "yellow", "grape" => "purple" } hash["orange"] = "orange" puts hash |
出力結果
{"apple"=>"red", "banana"=>"yellow", "grape"=>"purple", "orange"=>"orange"}

ハッシュの要素の削除
ハッシュの要素を削除するには、deleteメソッドを使います。
削除する要素のキーを指定することで、その要素を削除できます。
1 2 3 |
hash = { "apple" => "red", "banana" => "yellow", "grape" => "purple" } hash.delete("apple") puts hash |
出力結果
{"banana"=>"yellow", "grape"=>"purple"}

ハッシュの要素の参照
ハッシュのすべての要素を参照するには、eachメソッドを使います。
eachメソッドは、ハッシュのすべての要素を一つずつ取り出して、指定した処理を行います。
1 2 3 4 |
hash = { "apple" => "red", "banana" => "yellow", "grape" => "purple" } hash.each do |key, value| puts "The color of #{key} is #{value}." end |
出力結果
The color of apple is red. The color of banana is yellow. The color of grape is purple.

ハッシュとmapメソッド
ハッシュに対してmapメソッドを使うと、各要素に対して指定した処理を行った結果を新たな配列として取得することができます。
1 2 3 4 5 |
hash = { "apple" => "red", "banana" => "yellow", "grape" => "purple" } result = hash.map do |key, value| "The color of #{key} is #{value}." end puts result |
出力結果
["The color of apple is red.", "The color of banana is yellow.", "The color of grape is purple."]

ハッシュとselectメソッド
ハッシュに対してselectメソッドを使うと、指定した条件に合致する要素だけを取り出した新しいハッシュを作ることができます。
1 2 3 4 5 |
hash = { "apple" => "red", "banana" => "yellow", "grape" => "purple" } result = hash.select do |key, value| key.include?("n") end puts result |
出力結果
{"banana"=>"yellow"}

まとめ
以上、Rubyのハッシュについての基本的な操作を解説しました。
ハッシュはキーと値のペアを管理する強力なツールで、初期化、要素の取得、追加、削除、参照、そしてmapやselectメソッドなど、様々な操作が可能です。
これらを上手く使いこなすことで、より効率的なプログラムを書くことができます。
最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!

Rubyをさらに学びたい方へ
Rubyを理解して頂くために参考書を執筆致しました!
Rubyの配列、イテレータ、ブロックパラメータなどを学びたい方にオススメの本となっています。演習問題をたくさん用意しているので、実践形式で理解しやすい内容となっています。
下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!
⇩初心者向け ⇩中級者向け
RubyでChatGPTAPIを使ってブログ作成を自動化しませんか?
この記事は90%~100%ChatGPTで作られています。