一通りのカリキュラムを終え、エラー問題にチャレンジし始めた もそ。
分かりきっていたことではありますが、もう、笑えるぐらい解けない。
というか半泣きで解いています(遅々として進みません...)
そんなわけで、今回からはRubyの範囲も含めた復習内容です。
図解しながら理解を深めていければと思います。
今回はシンボルについてのおさらい。
##ハッシュとは
ハッシュは、ハッシュは複数のオブジェクトを持つことができる箱のようなもので、
データ自体のもつ値バリューと、それに対応するキーと呼ばれる標識がセットになっています。
このキーとバリューのセットのことをキーバリューストアと呼びます。
##シンボルとは
シンボルはハッシュのキーのような名前を識別するラベルのようなもので、基本的には文字列と同じように使うことができます。
ここからは図を使って説明していきます。
ここでは、瓶に入ったコーヒーを例にしてみました。
瓶の中に入っている"もそのスペシャルブレンドコーヒー"という正式名称が、ハッシュのキーにあたります。
そして"豆300g"、これがハッシュのバリューになります。
なので今回の場合は、"もそのスペシャルブレンドコーヒー" "豆300g"が入った瓶そのものがハッシュになります。
さて、瓶には"ブレンド"という名前のラベルが貼ってあります。
このラベルこそが今回の本題、シンボルにあたります。
喫茶もそ(たったいま適当に命名しました)では、ブレンドコーヒーは"もそのスペシャルブレンドコーヒー"しかないとします。
ということは、瓶に"ブレンド"というラベルが貼ってあれば「ブレンドちょうだい!」と言われたとしても
「ああ、もそのスペシャルブレンドコーヒー豆300gのことか」と判断できます。
そしてもし喫茶もそにコーヒーがブレンドの一種類しかなければ、瓶に貼るラベルはもっと単純に"コーヒー"でも問題ないですよね。
シンボルは開発者がハッシュの中身を分かりやすくしたラベルなので、シンボルの名前が変わったからと言って中身が変わるわけではありません。
ただし開発環境によって、たとえばシンボルの名前をアクション名と一緒にすると分かりやすいよ〜といった場合もあります。
--
いかがでしょうか。
今は半泣きで問題を解いていますが、さらっと華麗にエラー問題を解決できるよう地道に復習していこうと思います。
映画マトリックスのネオみたいに、プログラミングスキルをインストールしてほしい...と今日もぼやきつつ、もその学習は続きます。