LoginSignup
35

More than 3 years have passed since last update.

ハッシュと配列の違い

Last updated at Posted at 2017-10-14

ハッシュと配列がとても大事だと気づいたので、覚書します。

ハッシュって?

ハッシュとはどんな形をしているのかというと、

data = {a:”みかん”,  b:”ぶどう”, c:”りんご”}

このようなやつ。

配列って?

一方で配列はどんな形をしているかというと

data = [1,2,3]

このようなやつ。

違いの一つ目は{}と[]の違い。

二つ目は中に入っているデータの形式。

ハッシュの一つ目、みかんにはaという名前がついているが、配列での最初の1は1でしかない(名前はない)。

何に使うの?

データを格納し、取り出す際の箱の役割。

例で例えたほうがわかりやすいかも。。。

例えばレシピアプリとかで、スパゲッティで検索するとペペロンチーノ、アラビアータ、ボンゴレ。。。。ってでてくる。

実はその裏では、大量のデータの中からスパゲッティのジャンルに当てはまるものを探し出し、箱に入れて、その中身を羅列するという処理が必要になる。つまり箱のなかから取り出す必要がある。

そういうときに使う。

使い方

〜ハッシュ取り出し方公式〜

箱の名前[:key]

ここでいう箱の名前は、上の例でいくとdata。keyとは上でいくとa,b,cにあたる。

だからみかんを取り出したいと思うなら、data[:a]でみかんが出力される。

箱自体は{}で囲まれてるけど、取り出すときは[]だから注意!!

ちなみに上のスパゲッティみたいに羅列するときはeachメソッドを使う。

data.each do |key,value|

こんな感じ。valueはみかんとかりんごとかのことね。

〜配列取り出し方公式〜

箱の名前[取り出したい番号]

上の配列の例でいうと1番目の1を取り出したいときは、data[0]となる。

ん?と思った人がいるかもしれないけど、実は配列では0番目1番め2番めって数えるんです。

だから1番目の1を出したいときは0、2番目の2を出したいときは1を[]の中に書く。

以上です。基本だけど超大事!!

個人開発をされている方へ

Moverというプロダクトを開発しています。登録していただくと、開発したプロダクトのテスト利用を依頼し、フィードバックをもらうことができます。自分のプロダクトを公開して個人開発を加速させましょう!! 現在僕のアカウントも登録されているので、そちらにテスト利用依頼をいただければ実際に使ってみた感想などをお送りさせて頂きます。(アドバイスなどではなく、一人のユーザーとしての感想となります。) もちろん無料です。
https://mover-web.herokuapp.com/

Screen Shot 2020-05-19 at 4.36.42 PM.gif

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35