小林です。
サブジェクトを変えました。

GOTO Kentaro さんへの返信:
> >テストプログラムで試してみました.CVARが定数なのに
> >  CVAR[100]="abc"
> >等とできるのが最初は奇異に感じましたが、これはこれで納得しました。
>
> 定数というのは代入によって与えられる CVAR という名前と、それ
> が指してるオブジェクト(配列)の結びつきが定数的だということで
> す。[]= や push で設定できるようなオブジェクトの「内容」が定
> 数的という意味ではないです。要すれば再代入すると怒られる名前
> のことを定数といってるわけです。
>
はい、定数CVARが参照している領域(この表現が正しいかは別として)
は「定数」ではないということですね(この意味で「納得」していました)。

> なお、配列や文字列は freeze というメソッドによってそのオブジェ
> クトの内容の変更を禁止することが出来ます。
>
ruby本493にfreezeは「配列の凍結(変更禁止)」とありました。
 CVAR = []
 CVAR[0]=0
 CVAR.freeze
 CVAR[0] = 100
で確かに、can't modify frozen array となりました。
配列サイズだけの「freeze」もあったらいいな(単なる思い付きです)
と思いました。
ところで、freezeがあるのならmeltはあるのでしょうか?
因みにCVAR.melt、CVAR.unfreezeともにだめでした。

定数と関連してfreezeを教えていただきましてありがとうございます。
このように、関連した情報というものは、なかなか一人では得がたい
ものです。これからも、よろしくお願い致します。

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