Next: 4.5 データのタイプ付け
Up: 4 Scheme言語を用いた抽象化プログラミング
Previous: 4.3.3 関数の戻り値としての手続きの場合
データの抽象化の例としては,いろいろな内部データ表現に対してもひとつの
関数で取り扱いができるようにするという話があります.以前行なった探索プ
ログラムの例で,探索するグラフの内部表現がどうであろうともアクセスする
関数名は同じになるようにしていましたが,それと同じ内容のことです.
ただ,ここでは,データ指向プログラミング,つまり,データ自身に
どうアクセスするかという手続きが保存されているという
形を紹介します.オブジェクト指向プログラミングの例では,
クラス,メソッドという形で統一的なメカニズムがありましたが,
ここでは,シンボルの属性リストを用いた例があります.
Schemeにも属性リストというものがあります.
ただし,putという関数の引数の順序はCommonLispとはちがいます.
==> (put 'a 'value 10)
10
==> (get 'a 'value)
10
generated through LaTeX2HTML. M.Inaba 平成18年5月6日