このチャプターではハッシュとは何かを学びます。
Ruby on Railsでアプリ開発を行う場合、あちらこちらでハッシュを使います。
その為「ハッシュ Ruby」と検索をかけると大量の解説や質問がヒットします。 でも皆さんはここまでで、変数・配列・繰り返し処理とRuby初心者の大きな3つの壁を乗り越えています! 自信を持ってハッシュマスターを目指しましょう。
ハッシュとはデータをいれた複数の箱を入れておくことができる大きな箱のことです。
この図を見て「あれ?配列と同じじゃないか!」と思った方も多いでしょう。
確かに、配列も複数のデータ(変数)をいれておくことができる箱のことでした。
しかし、配列とハッシュには大きな違いがあります。それは、大きな箱の中に入っているデータの種類です。
配列の中に入っているのは変数でした。変数とは1つの箱に、1つの値が代入されたものでしたね。
しかし、ハッシュの中にはいっているデータはキーと値といった2つの特徴をもっています。キーと値はペアになっており、Aというキーには必ず1という値、Bというキーには必ず2という値というようにペアが固定されています。Aというキーで2という値を呼び出すことはできません。
つまり、キーと値という2つがペアになったデータが複数入っている箱がハッシュということです。
ではハッシュはどのような時に使うのでしょうか。コードを使って確認してみましょう。
postというハッシュがあります。postには4つのペアになったデータが入っています。
このペアになったデータとは、キーと値でしたね。
このキーと値は、キーを呼び出すと、必ずペアの値を返してくれるという関係です。
もしtitle:というキーを呼び出したのに、本文が表示されたり、image:というキーを呼び出したのに題名が表示されてはWebページの表示がぐちゃぐちゃになってしまいます。
その為、必ずキーを呼び出すとペアになっている値を返してくれるようになっているのです。
このpostというハッシュをコードで書くと
post = {title: "題名", body: "本文", image: "dog.png", author: "伊藤"}
となります。
ハッシュのコードは
ハッシュ名 ={キー: "対応する値",}
で記述します。
ハッシュのデータは ハッシュ名[:キー]で取り出すことができます。配列の中から1つのデータを取り出す方法を思い出してください。
students[3](配列名[参照したいデータの番号])
で取り出すことができましたね。
ハッシュの場合も同じです。
postというハッシュの中から題名を取り出したいときは
post[:title]
です。
postというハッシュの中から本文を取り出したいときは
post[:body]
です。
実際にコードを書いて処理を確認してみましょう。
testフォルダ内に新しくhash.rbファイルを作成してください。
hasu.rbファイルにハッシュpostのコードを記述します。
では、titleというキーの値を取り出してみましょう。
ハッシュの中の特定のキーの値を取り出す時のコードは
post[:title]
でしたね。
取り出した値を表示させる(返す)という処理の為、
puts post[:title]
とコードを追記します。
ではターミナルで処理を実行してみましょう。
配列の時と同様に、$ ruby ファイル名でファイルの中身が実行されます。
$ ruby hash.rb
と実行すると、 題名 とターミナルに結果が出ています。
body、image、authorの値も取り出してターミナルで確認してみましょう。
無料ビデオ講座のお知らせ
Skillhub [スキルハブ]では無料の動画講座を多数公開しています。他校だと数万円するような講座が無料で受講できます。