連想配列を身につけよう!Ruby on RailsのHashの使い方【初心者向け】
Ruby on Railsで書くhashの使い方を解説している記事になります。hash(ハッシュ)は日本語で連想配列と言い、配列とよく似たオブジェクトです。hashを使えば楽にかつ見やすくプログラムを書くことができます。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
監修してくれたメンター
mentor-hakamata
C#, Ruby, Python, JavaScriptなど経験。
RubyのフレームワークRuby on RailsでのHashの扱い方について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
目次
Rubyについてそもそもよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。
Hashではあるキー情報に対して、データを格納することができるものです。
今回はそのHashを使ってデータを扱う方法を説明します。
Hashとは
Hashは連想配列とも言いますが、あるキー情報に対して、何かしらのデータを紐付けて格納できます。
例えば机にひきだしが2つあったとします。
1つ目のひきだしにAのシールを貼り、2つ目のひきだしにBのシールを貼り、それぞれAのひきだし、Bのひきだしとします。
Aのひきだしには鉛筆を、Bのひきだしにはノートを入れます。
ここで質問です。
Aのひきだしには何が入っているでしょうか。
答えは鉛筆が入っています。
このようにA(キー情報)には鉛筆(データ)といったイメージでデータの格納の仕方をするのが、Hashになります。
Hashの作成方法
Hashは以下のように作成することができます。
sample = {}
これで空っぽのHashが作成されました。
最初から何かしらの値を設定したい場合は、以下のように書きます。
sample = { name: "tarou" }
name というキーに対して、文字列の”tarou”が格納された状態です。
Hashの基本的な使い方
Hashの基本的な使い方として、4つの操作をご紹介します。
- 要素の取得
- 要素の追加
- 要素の更新
- 要素の削除
それぞれの操作について以下で解説します。
要素の取得
要素(Hashに設定した値)を取得する場合は、以下のように書きます。
sample = { name: "tarou" } p sample[:name] => "tarou"
name というキーを参照すると、”tarou”という文字列が取得できます。
要素の追加
要素を追加したい場合は、以下のように書きます。
sample[:email] = "example@example.com" p sample[:email] => "example@example.com"
これでemail というキーに”example@example.com”という文字列を追加できました。
要素の更新
既に追加されている要素を更新する場合は、以下のように書きます。
sample = { name: "tarou" } sample[:name] = "zirou" p sample[:name] => "zirou"
name というキーに格納されている”tarou”を”zirou”に更新できました。
要素の削除
要素を削除する場合は、deleteメソッドを使用します。
sample = { name: "tarou" } sample.delete(:name) p sample[:name] => nil
これでname というキーに格納された要素は削除されました。
Hashに利用できるメソッド
Hashに利用できるメソッドとして、3つのメソッドをご紹介します。
- eachメソッド
- lengthメソッド
- empty?メソッド
それぞれのメソッドについて以下で解説します。
eachメソッド
eachメソッドを使用するとHashに格納されている要素を全て処理できます。
sample = { name: "tarou" , email: "example@example.com"} sample.each do |key, value| p "#{key} => #{value}" end => "name => tarou" => "email => example@example.com"
keyにはキー情報が、valueには要素が代入されています。
Hashに格納されている要素を繰り返し処理したい場合はeachメソッドを使用すると良いでしょう。
lengthメソッド
lengthメソッドはHashに格納されている要素の個数を取得できます。
sample = { name: "tarou" , email: "example@example.com"} p sample.length => 2
要素は2件格納されている状態ですので、2と出力されています。
empty?メソッド
empty?メソッドではHashに要素が格納されているかどうかを確認できます。
sample = {} p sample.empty? => true sample = { name: "tarou" , email: "example@example.com"} p sample.empty? => false
Hashが空っぽの場合はtrue、何か要素が存在する場合はfalseが戻り値となります。
まとめ
本記事では、RubyにおけるHashについて解説しました。
- Hashとは
- Hashの作成方法
- Hashの基本的な使い方
- Hashに利用できるメソッド
Hashを理解することで、効率的な連想配列データの扱い方を実現します。
ぜひ使いこなせるように覚えておきましょう。
Ruby on Railsを学習中の方へ
これで解説は終了です、お疲れさまでした。
- つまずかず「効率的に」学びたい
- 副業や転職後の「現場で使える」知識やスキルを身につけたい
プログラミングを学習していて、このように思ったことはありませんか?
テックアカデミーのWebアプリケーションコースでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。
合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、Ruby on Railsを使ったWebアプリケーション開発を学べます。
まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。
時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!