From 25967b4dfe1aea2a43d6ae7fbbfdd53cd178319c Mon Sep 17 00:00:00 2001 From: fukachan Date: Tue, 27 May 2003 10:59:27 +0000 Subject: fix IO::Adapter::find() descriptions. considerations on getting value as hash_ref. --- fml/doc/ja/tutorial/internals/io_abstraction.sgml | 49 ++++++++++++++++------- 1 file changed, 34 insertions(+), 15 deletions(-) (limited to 'fml/doc/ja/tutorial') diff --git a/fml/doc/ja/tutorial/internals/io_abstraction.sgml b/fml/doc/ja/tutorial/internals/io_abstraction.sgml index 46892310..e7417f11 100644 --- a/fml/doc/ja/tutorial/internals/io_abstraction.sgml +++ b/fml/doc/ja/tutorial/internals/io_abstraction.sgml @@ -1,5 +1,5 @@ @@ -252,17 +252,8 @@ XXX -find() の返り値を ARRAY_REF にできるので、find() をつかうよろし。 - - - -とどめに find('*', { all => 1 }) などとすると全部の値が -ARRAY_REF で返りますのぉ。 - -KEY1 => ARRAY_REF1 -KEY2 => ARRAY_REF2 - ... - +うーん、どういうデータ構造が欲しいんでしょうねぇ? +PRIMARY KEY の一覧くらいか? @@ -282,7 +273,12 @@ KEY2 => ARRAY_REF2 もし、あるとしたら get_primary_keys() みたいな名前のメソッド?で、 -ARRAY_REF で返すのでしょうかね? +ARRAY_REF で返すのでしょうかね?でも、find('*', { all => 1 }) などとす +ると全部の KEY の値がARRAY_REF で返りますんで、別のメソッドも不要な気 +がするねぇ。 + +(KEY1 KEY2) + @@ -294,6 +290,7 @@ ARRAY_REF +これこそ、どういうデータ構造が欲しいんでしょうねぇ? 返り値が HASH_REF であるようなメソッドが欲しいだろうか? 返り値 = { @@ -301,15 +298,37 @@ ARRAY_REF 変数2 => 値2、 } -って、getattr() とかいうメソッドかなぁ。だが、HASH_REF 中の -属性のキーがオブジェクトに強く依存するなぁ…う〜む。 +って、つまり getattr(KEY) とかいうメソッドかなぁ。だが、HASH_REF 中の +属性のキーがオブジェクトに強く依存するわけですが…そんなので modular +といえるのか? + + + +単に、表のN番めじゃなくて、N番目の名前はこれこれ…っていう情報のタグ +をつけて返すと思えば、あまり変わらないといえば変わらない。 + + + +メールアドレスに属性をつけることを考えるとこういったものが必要でしょう。 +たとえば、まとめ送りがその例といえる。 + +メールアドレス => { + 送り間隔 => 3時間、 + ファイル圧縮 => しない + フォーマット => mime/multipart +}; + ただ、キャッシュを抽象化したアダプタ層はこの形になりうるでしょう。 +たとえば FML::Error -> FML::Error::Cache -> Tie::JournaledDir +こういったキャッシュのアダプター層のために、標準規格があるとよいです。 +全部 Tie でやるってのもあるけど、Tie で書きまくると、どんどん HASH の +中身が複雑になって、一番下の Tie:: の変えがきかなかったりしそう。 -- cgit v1.2.1