MMH... you can try add this function to M_class

       def change_me=(val)
              @m_container.container1 = Class1.new(val)
       end

and then call

object.change_me = 2

Sandro




On Sun, May 11, 2008 at 8:22 PM, Extreme Noob <bengalyean / hotmail.com> wrote:
> Here I want to change Class1's var2 to equal 2. Now, I can do this by..
> "object.m_container.container1 = Class1.new(2)", but I want to do it
> with "object.change_me = 2"
> Point is I want to change that variable by simply using a number, as
> apposed to xxx.new(arg).
> Why wont object.change_me =2 work?
>
> (sorry if this seems confusing or silly)
>
> The following is a highly simplified representation of my current
> problem....
>
> #******************************************************************
>
> class Class1
>
>    def initialize(aVar)
>        @var = aVar
>        @var2 = nil
>        if @var == 1 then @var2 = 1 elsif @var == 2 then @var2 = 2 end
>    end
> end
>
> class Class2
>      attr_accessor :container1
>
>      def initialize(container1)
>        @container1 = container1
>           end
> end
>
> class M_class
>  attr_accessor(:m_container,:change_me)
>
>  def initialize
>    @m_container = Class2.new(Class1.new(change_me) )
>  end
>
>        def change_me
>               @change_me = 1
>        end
> end
>
>
> object = M_class.new
>
> #object.m_container.container1 = Class1.new(2)  <--- currently doing it
> like this
>
> #object.change_me = 2   <----- want to do it like this (or something as
> easy)
>
> p object
>
> #*******************************************************
> --
> Posted via http://www.ruby-forum.com/.
>
>



-- 
Go outside! The graphics are amazing!