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

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

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Rubyの配列でのstoreメソッドの使い方について解説します。

 
そもそもRubyについてよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。

なお本記事は、TechAcademyのオンラインブートキャンプRuby講座の内容をもとに紹介しています。

 

田島悠介

今回は、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を使ったプログラミングを習得できるオンラインブートキャンプRuby講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。