From: Shigeo Kobayashi Date: 1999-11-18T12:00:52+09:00 Subject: [ruby-list:18706] Re: 定数 / 配列 /freeze 小林です。 まつもと ゆきひろさんへの返信: > > |配列サイズだけの「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