これまで学習した、Rubyで扱える値の型(クラス)には、 数値(Numericクラス)、文字列(Stringクラス)、配列(Arrayクラス)、 ハッシュ(Hashクラス)などがある。これらを使って処理したデータとしては、 成績データや単純な名前や数値などが挙げられる。イメージ的にも、これらの データは計算機処理するのに向いている感じがする。
しかし実際には、数値や文字列ではないものも計算機は処理するのが 得意である。ここではRubyのデータ型に直接当てはまらないようなものを、 どのようにプログラム中の値として表現するかを考える。
Rubyでは、配列の要素の値も、ハッシュの値にも任意の型(クラス)の 値を自由に代入することができる。これを利用すると、どんな複雑に 組み合わされたデータも配列やハッシュに格納することができる。
今回は、現実世界にある情報を表現するときに、どのようなデータ構造を 取れば良いかを考える。その一例として、履修科目情報をRubyで表現するため の設計方法を考察していく。