けいじゅ@日本ラショナルソフトウェアです.

In [ruby-list :7373 ] the message: "[ruby-list:7373] Re: Q: jcode.rb
tr(String + nil) ", on Apr/08 17:36(JST) Yukihiro Matsumoto writes:

>まつもと ゆきひろです

>いや,たまたまfreq.rbの例がハッシュで使っているだけでハッシュ
>独自の機能だとは認識していません.

うーん. そうですか...

まあ, この機能があるとめんどくさい境界処理がいらなくなることも確かです
けどね.

>ところで foo += 1 でエラーになるのはバグです.これは代入ですからロー
>カル変数は宣言されていて,その値はnilになっているべきです.で,そこに 
>+1 するから結果は1ですね.

うーん. すると, foo += 1 は

  foo = foo + 1

と全く同値ではないってことですね?

>|それならば, ハッシュにそのキーに対する値がない場合のデフォルト値を設定
>|するメソッドを用意するというのはいかがでしょう? 
>うーん,実装の都合になっちゃいますが,RHash構造体にはデフォ
>ルト値をいれるすき間が残ってないんですよ.

うーん.

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

ここまでするのもね...

__
................................石塚 圭樹@日本ラショナルソフトェア...
----------------------------------->> e-mail: keiju / rational.com <<---