小林です。


 まつもと ゆきひろさんへの返信:
>
> |配列サイズだけの「freeze」もあったらいいな(単なる思い付きです)
> |と思いました。
>
> どのくらい使いでがあるでしょうねえ。
>
FORTRAN、C/C++等の言語では配列の上限チェックというのは
いつもうっとうしいものです。また、例えば社員番号を配列のイン
デックスに対応させるようなケースでは「配列の上限」そのものが
意味をもちます(新入社員が入らない限り上限は変更しない)。
なので、以下のようなコードが頭にうかびました。

begin
  shain=[]
  ........
 shain.freeze_size  # 仮に
  ........
  rescue
    print "誰かがかってに人を雇った!!!"
end

もちろん、他の賢い方法も色々ありますが、多様性が売りのruby
ですから...

> |ところで、freezeがあるのならmeltはあるのでしょうか?
> |因みにCVAR.melt、CVAR.unfreezeともにだめでした。
>
> freezeは一方通行です。一度凍らせたら一生凍ってます。
もし、meltがあれば配列をファイルやデータベースと同様に
lockしたりunlockできるし、スレッド間でfrozen?を使って
排他制御のような使い方も考えられるような気がします。

> untaintもあるんであっちゃダメってわけでもないでしょうけどね。
>
untaintって?
(どこかで、見落としているかな==>探してみます)

小林 茂雄
E-Mail: shigeo / tinyforest.gr.jp
WWW: http://www.tinyforest.gr.jp