豊福@パパイヤです。

まつもとさん
> Hashというオブジェクトに直接Hashとは関
> わり無い「デフォルト値」という状態を追加することに妙に抵抗が
> あるんですよ.

  例に出てくる freq は、本質的にすべてのキー
に対して 0 で初期化されたハッシュ(そういう
のはもはやハッシュと呼ばないのかもしれません
が)だと考えているので、初期値の 0 は freq
と十分深い関係があると考えています。

  そういうのはもはやハッシュではないという
ことでしたら DefaultHash のような新しいクラス
を使うとか、素のハッシュで実装するなら
if (hash(key) == nil) then 0; else hash(key);
するとかして「nil + obj」にしわよせがこない
ようになっていて欲しいです。

> しかし,「nil + obj」をエラーにするためには「デフォルト値の
> あるハッシュ」について云々するより,これを無くすという方向で
> 進べきだと思います.

  私の第一の目的はそれなので、その方向で構い
ません。それには「nil + obj」をエラーにして
もらうのが一番の早道かと思います。:-)

>|  ハッシュのことばかり書いてますが初期値
>|を持った配列も同様に考えてます。
> うーん,これも同様の理由で抵抗があります.こっちはハッシュよ
> りももっと実装上の都合が悪いと言うことを別にしても.

  配列はハッシュのキーを整数に制限したものだ
と考えて書いたのですが、そんな単純なものでは
ないことに気がつきましたので配列の件は撤回
いたします。
---
			豊福@パパイヤ
			unbound / papaya.juice.or.jp
			toyofuku / juice.or.jp