Posted at

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

More than 3 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"

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