Rubyの配列でのstoreメソッドの使い方を現役エンジニアが解説【初心者向け】

初心者向けにRubyの配列でのstoreメソッドの使い方を現役エンジニアが解説しています。storeメソッドを使うと連想配列にキーと値のペアを追加することが出来ます。違う書き方でも追加できますがstoreメソッドを使うとソースコードの見通しが良くなります。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Rubyの配列でのstoreメソッドの使い方について解説します。Rubyについてそもそもよく分からないという方は、Rubyとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのWebアプリケーションオンラインブートキャンプの内容をもとに紹介しています。

田島悠介

今回は、Rubyに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

配列でのstoreメソッドの使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

storeメソッドとは?

storeメソッドとは、hashにkeyとvalueを追加するもしくはvalueを変更する際に使用するhashのメソッドの1つです。

引数にkeyとvalueを渡すこと使用できます。このメソッドは[]=の別名で、同じ様に使用できます。

つまり、h[key] = valueとh.store(key,value)は、同じ操作をしていることになります。

 

storeメソッドの使い方

storeメソッドは、keyとvalueの2つの引数を渡して使います。

#hashの初期化
h = {}
#keyがMike,valueが20を渡す
h.store("Mike",20)

 

keyが存在しない場合はhashの追加、すでにkeyが存在する場合はvalueが変更されます。

h = {"Mike"=>20}
#key Mikeはすでに存在するので値が20=>30に更新される
h.store("Mike",30)
#[]=と同じ意味なので

h = {}
h["Mike"] = 20
h = {"Mike"=>20}
h["Mike"] = 30

 

としても同じになります。

[PR] Rubyのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

では実際に以下のコードを書いてみましょう。

#hashを宣言
scores = {"english" => 80,"math" => 70,"history"=> 50}
#hashを出力
puts scores

#hash scoresにphysicsを追加
scores.store("physics",60)
# hashを出力
puts scores

#hash scoresのmathの値を70=>90に変更
scores.store("math",90)
# mathを出力
puts scores["math"]

#[]=を使用して、hashを追加
scores["biology"] = 50
# hashを出力
puts scores

# []=で書き換え
scores["math"]=100
puts scores["math"]

 

実行結果は以下の通りです。

 

{"english"=>80, "math"=>70, "history"=>50}
{"english"=>80, "math"=>70, "history"=>50, "physics"=>60}
90
{"english"=>80, "math"=>90, "history"=>50, "physics"=>60, "biology"=>50}
100

 

以上でstoreメソッドの解説は終わりです。実際に使用して動きを確めてみましょう。

 

筆者プロフィール

メンター金成さん

フリーランスエンジニア。
Railsの案件を中心に、様々なアプリケーションを開発してます。

使える言語は、ruby python go 。最近はgoにハマってます。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは初心者でも最短4週間でエンジニアになれるRuby on Railsオンラインブートキャンプを開催しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。