プログラミング言語Ruby 3.4.1 ハッシュリテラル

より
メモ。

一般に、ハッシュキーとしては文字列よりもSymbolオブジェクトの方が効率的に使える。


こう書くより

numbers = { "one" =>1 , "two" => 2, "three" => 3 }


こう書いた方が効率的&見やすい(valueが文字列ならなお)。

numbers = { :one  =>1 , :two => 2, :three => 3 }

要は

ハッシュキーは基本Symbolで。
でもrailsのparamsでは、文字列に変換している。
(ここのパフォーマンスを気にするなら文字列。でも基本大丈夫よね。)

補足

ruby1.9だとこう書ける

numbers = { one: 1, two: 2, three: 3 }

補足2

GCの対象にならない。(from 3.6 シンボル)
(通常の使用では影響無いんだろうけど)シンボル作り過ぎるとどうなるんだろう?