豊福@パパイヤです。

まつもとさん
>|  そこでハッシュにデフォルト値を持たせるというの
>|はどうでしょう。下のプログラムのような感じのです。
> 以前にもそのような提案が石塚さんからでたことがありました.えー
> とruby-devの何番だったかな.

  なかなか見つからないと思ってたら ruby-list
の方でした。(ruby-list:7372 - 7375)

> その時に,必要であればdelegate.rbを使って作れば良いじゃない
> かというような話があったような,なかったような….

  delegate の話はまだ出てないようです。(これ
からでも聞きたいですが)

私
>   hash->table->bins の最後にデフォルト値用の
> エントリを追加するとか。美しくないか・・・。

  bins 使うくらいなら hash->table (st_table)
にメンバ増やす方が素直でした。

まつもとさん [ruby-list:7373]
> 実装の都合になっちゃいますが,RHash構造体にはデフォ
> ルト値をいれるすき間が残ってないんですよ.

  上に書いたような st_table の方でもダメですか。

> 対応する値が無い場合にはなんらかのメソッドを呼び出し,
> 必要に応じて特異メソッドで置き換えるという手法は使えますが,
> Hashの実行速度を下げちゃうでしょうね.それはそれで嬉しくない.

  st_table のそのメンバを見て、
  デフォルト値がなければ nil を、
  あってそれが proc でなければそのオブジェクトを、
  proc だったら call した結果を返す
だったら if分岐がちょっと増えるだけのような
気がするのですが。
---
			豊福@パパイヤ
			unbound / papaya.juice.or.jp
			toyofuku / juice.or.jp