なぜRubyのハッシュでシンボルを利用するのか?
例えば、
文字列をキーにしたハッシュの場合、
user = { "first_name" => "Michael", "last_name" => "Hartl" }
シンボルをキーにしたハッシュの場合、
user = { :name => "Michael Hartl", :email => "michael@example.com" }
ここRailsチュートリアルスクリーンキャストのYasukwa氏の説明では、
キーを
文字列とした場合(string)
整数とした場合(integer)
シンボルとした場合(symbol)
の3つの計算速度を処理した場合
文字列が一番時間がかかり整数が一番高速だった。
しかし、
ハッシュのキーを整数にして
1 => "Michael Hartl",
2 => "michael@example.com"
みたいなのは人間の目から見るとあまりにもわかりにくい。
なので計算処理速度も早く、人間の目にもわかりやすいいいとこ取りをしたのがシンボル。
user = { :name => "Michael Hartl", :email => "michael@example.com" }