QA@IT
«質問へ戻る

質問を投稿

RubyのHashのキーはシンボルにするべき?

現在 ruby 1.9.3でプログラミングしているのですが、Hashのキーをシンボルで書くのか、Stringで書くのか悩んでいます。

自分のシンボルの理解はちゃんとしてないのですが、自分の考えではシンボルは固定的な文字を使いたいときに使う物だ考えています。逆に言うとStringはよく変更される物となります。

なので、Hashのキーはシンボルを使って書いていたのですが、他のライブラリ等を使っているとHashのKeyをStringで返してくるものがあることにきづきました。
これだと、キーをシンボルで指定してValueを取っていた場合、バグになってしまいます(nilを返す)。

ここで疑問なのはRubyのHashのキーはシンボルとString、どっちが一般的なんですか?
ご回答いただけるとうれしいです。

現在 ruby 1.9.3でプログラミングしているのですが、Hashのキーをシンボルで書くのか、Stringで書くのか悩んでいます。

自分のシンボルの理解はちゃんとしてないのですが、自分の考えではシンボルは固定的な文字を使いたいときに使う物だ考えています。逆に言うとStringはよく変更される物となります。

なので、Hashのキーはシンボルを使って書いていたのですが、他のライブラリ等を使っているとHashのKeyをStringで返してくるものがあることにきづきました。
これだと、キーをシンボルで指定してValueを取っていた場合、バグになってしまいます(nilを返す)。

ここで疑問なのはRubyのHashのキーはシンボルとString、どっちが一般的なんですか?
ご回答いただけるとうれしいです。