Kawai Shiro
pract****@yahoo*****
2003年 1月 23日 (木) 01:06:21 JST
Shiro@出張中です。東京は乾燥していますね。 すぐに鼻腔内がからからになります。 > - get が返すキーと値はペアか多値か? 一般に多値の方が効率は良いです。 (現在の実装では21個以上の値は返せないという 制限があるのですが、この場合は該当しませんし) > - keys は引数に並べるかたちで大丈夫か? > 数が多くなったときに効率が悪く > はないか? 可変長引数は引数の数が10000個とかにならなければ 効率の問題は無いと思いますが、逆にそういう事態が 有り得るのならリスト渡しにしておいた方が無難でしょう。 keysをあらかじめ計算するような呼び出し方が 多いなら、可変長引数だとapplyが必要になるので、 その場合もリスト渡しの方が有利でしょうね。 その場合は、#tを渡すと全keyにするとか。 > - > わからない/実行できないメッセージが来たらどうするか? > (read only辞書 > などの場合。不定?) 辞書によっては特定の操作はエラーを投げてしまっても 良いと思います。 dictionary-writable? とか dictionary-insertable? みたいな述語を定義しておけば、caller側で判断できますし。 > - keys > の順番と要素の取り出されてくる順番が同じである保証はな い、でい > いか? keys に重複があった場合は? 順番は保証無しで良いんじゃないでしょうか。 基本的なモデルとしては、 SELECT * IN dictionary WHERE key IN keys みたいなイメージだったので、keysに重複があっても 結果には反映されないかなと思っていました。 > - 順序つき辞書に対応できるか? (Java > には順序つきハッシュ?があったよ > うな) insert! する位置は? 保留させて下さい。具体的な状況がまだイメージできません。 > - <dictionary> は <collection> > のサブクラスでいいか? 一応そうなるのかなあ。 mixinにするって手もありますが。 --shiro __________________________________________________ Do You Yahoo!? Yahoo! BB is Broadband by Yahoo! http://bb.yahoo.co.jp/