文字列とシンボル

今日も「ミニツク - Rubyのe-ラーニング研修システム」を読みながら、基本の復習。
昨日のSchooの講座で配列とハッシュをやったこともあり、とくにこの2点についていろいろと試してみたりしました。

ところで、「ミニツク」のハッシュの項目を読んでいてはじめて

・シンボル
・文字列

の違いにぶつかりました。

これまで、シンボルの存在を知らずにハッシュを書いていたのです。
そのため、たとえば

hash = { name: "山田", furigana: "yamada"}

のようなハッシュを書いたときに返ってくる[:name]がシンボルだとわかっていませんでした。ハッシュはこうやって書くものなんだな、といった程度の理解。

ところが、[:~]というのはシンボルで、文字列とは異なるというではないですか!

ですから、上記の例だと、

hash = { name: "山田", furigana: "yamada"}
hash = { "name": "山田", "furigana": "yamada"}

のふたつは異なるんですね。

何も考えずに「こういう書き方をするんだ~」と鵜呑みにしていたため、上記のキーが文字列ではないことを意識すらしていませんでした。

ちなみに、文字列とシンボルの違いについてはこちらの記事が大変参考になりました。

qiita.com

コードガールがやたら「Time.now」を使う問題を出してくるので、Timeにちょっと慣れてきた気がするのがうれしいです。

広告を非表示にする