From: Regina George Date: 2012-11-08T11:43:41+09:00 Subject: Re: Type confusion: Java vs. Ruby Bartosz DziewoƄski wrote in post #1083403: > 2012/11/7 Regina George : >> Our challenge was to find out if type confusion was possible in other >> languages, and my group got assigned Ruby. Can anyone offer some insight >> or point to some resources? > > Every variable in your Ruby code in (internally) a C type called > "VALUE", which is just a typedefed unsigned int pointer. This pointer > points to a larger structure (in C, RBasic and other structs based on > it, like RString), from which you can read the value's class and other > properties. (Technically, this works differently for Ruby Fixnums and > Symbols, whose values are magically encoded in the pointer value > itself.) > > So it's not possible to have force this kind of behavior you describe > in Ruby. However, as 7stud pointed out, instance variables (which are > like private fields in Java) can be accessed and modified anyway with > a little magic, and private or protected methods can be with some > tricks called from the outside environment. This is by design, as far > as I know. > > -- Matma Rex That is really helpful! Thank you! I feel like I understand this a lot better. -Regina -- Posted via http://www.ruby-forum.com/.