Help us understand the problem. What is going on with this article?

Rubyのハッシュの記法まとめ

More than 5 years have passed since last update.

まず、ハッシュと配列の違いから。

配列はインデックスとして整数値をとるがそれ以外を取るものがハッシュ

連想配列がハッシュということですね。

記法①:ハッシュロケットを使う

user = { "first_name" => "Yusuke", "last_name" => "Higaki" }

{ }の最初と最後に空白が入っているのが通例らしい。もちろん無くてもプログラム上は問題ない。

記法②:シンボルを使う
Railsではキーに文字列でなくシンボルを使うほうが普通なようです。

user = { :first_name => "Yusuke", :last_name => "Higaki" }

記法③:シンボルの進化系
Railsではシンボルを使うのが普通なので、Ruby1.9からシンボルを使った新しい記法がサポートされました。

user = { first_name: "Yusuke", last_name: "Higaki" }

この書き方はRailsのコミュニティで人気が高まってきているようです。

記法④:メソッドの最後の引数がハッシュならカッコは省略できる
最後はこれ。

set_user(first_name: "Yusuke", last_name: "Higaki")

もちろんset_userのカッコも省略可能なので、

set_user first_name: "Yusuke", last_name : "Higaki"

と書くこともできます。慣れるまでは毎回しっかり立ち止まって考えるべきですね。

YusukeHigaki
株式会社ニコリーで代表をしております。起業当初は自分でも開発をしていたのですが、最近はCTO以下、自分より遥かに優秀なメンバーにバトンタッチし、もっぱら企画や営業周りを統括しています。自分で書いていた経験もあり、エンジニアという職種に対するリスペクトは絶大です。
http://ticktockblog.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away