From: Yukihiro Matsumoto Date: 2009-11-05T23:14:11+09:00 Subject: Re: Freeze not freezing Hi, In message "Re: Freeze not freezing" on Thu, 5 Nov 2009 23:05:28 +0900, Ralph Shnelvar writes: |a) Is my reasoning correct? #freeze protect an object from modification. The reference is not the target of freezing. |b) Is there a way to do what I want? That is, freeze f or c[0] so that |I get some sort of message/error/exception? You can protect an array (or object) as a whole, since it is an object, so that c=[0,1] c.freeze c[0]=2 # => can't modify frozen array (RuntimeError) but you cannot freeze any variables. |c) Do my examples violate POLS? No. Unlike C++, variables and references are not object in any sense in Ruby. From my viewpoint, C++ violates POLS. ;-) matz.