テニスにて

テニスコーチの視点からの解説

RUBY勉強中 20150926

前回(RUBY勉強中 20150923)からの続きです。今回はHashクラスを使って、データを格納するということです。

 
前回は、何かのサービスに新規登録する時、登録用紙の原紙を用意してコピーしお客さんに情報を書いてもらって、その用紙を別のノートに転記するという大まかな流れを使って、クラスとかメソッドとかインスタンスなどの専門用語を理解してみました。
 
今回は、この書いてもらった用紙を格納しておくための場所のお話しです。その場所がHashと呼ばれるクラスにあります。現実の作業では格納する場所と言えば、箱や引き出しや棚ですよね。実際は他のノートに転記をして用紙を捨てるという作業になるのでしょうが、RUBYのHashクラスを理解するために、今回は引き出しをイメージして話しを進めていきましょうか。前回は自分で登録用紙の原紙を用意して、コンピュターに「これが登録用紙だよ」と教えて(定義して)あげましたが、実はこのHashクラスはRUBYが既に持っている引き出しですので、「引き出しってこういうものだよ」って教える必要はありません。
f:id:C_geokun:20150926170335j:image
イメージとしては、この写真のような引き出しの中の1つの箱に、1枚の記入済みの登録用紙が格納されます。日常のお仕事の中でも、誰の用紙がどこにあるか分かるようにキーワードを書いたラベルを貼ったりしますよね。こういうラベルもRUBYがHashクラスという引き出しを扱う時のアイテムとして持っています。このラベルをRUBYの用語で「キー」と呼び、箱の中に入れるデータ(今回の場合、記入済み登録用紙の内容)を「値」と呼びます。こういう引き出しは、ラベルが貼ってある箱を一つ一つ開けて用紙を取り出してデータを参照するという「お決まりの」作業がありますよね。だからこの一連の作業をRUBY側がすでに用意していて、その名を「eachメソッド」と言います。
 
このように、わざわざ「引き出しってこういう形ですよ、これを使うにはこういうお決まりの作業がありますよ」っていちいちコンピュターに教える必要がない既存のクラスがあると、とっても便利です。世界中のいろんなプログラマがこういう便利なクラスを作ってみんなに提供してくれていて、それらを「ライブラリ」と呼ぶようです。
いまのところ、そのライブラリがどんな種類があって、どこへ行けば手に入るのか、私はまだ知りません。勉強を進めていくうちに自ずと知ることになるに違いありません。
 
ではは(^^)