[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

how to change objects in heap?

Dmitry Regent

4/18/2008 3:05:00 PM

I'm novice at ruby and faced to a little problem.

I'll explain on the example:

I have a few references to an object

a = A.new
b = a
c = a
d = a

I want to change object of class A with object of class B here

if I do

a = B.new

b,c,d will be still refer to object A

How can I do it?
--
Posted via http://www.ruby-....

3 Answers

7stud --

4/18/2008 3:38:00 PM

0

Dmitry Regent wrote:
> I'm novice at ruby and faced to a little problem.
>
> I'll explain on the example:
>
> I have a few references to an object
>
> a = A.new
> b = a
> c = a
> d = a
>
> I want to change object of class A with object of class B here
>
> if I do
>
> a = B.new
>
> b,c,d will be still refer to object A
>
> How can I do it?


a = [10]
b = a
c = a

a[0] = 20
puts b[0]
puts c[0]

--output:--
20
20
--
Posted via http://www.ruby-....

Dmitry Regent

4/18/2008 7:34:00 PM

0



>
> a = [10]
> b = a
> c = a
>
> a[0] = 20
> puts b[0]
> puts c[0]
>
> --output:--
> 20
> 20

This way you are correcting existed object.
But if you will do

a = Array.new

a => []

but!

b = [20]
c = [20]

I want to get C++ analog in ruby for operation with pointer.
When i can destract object and constract new with this pointer.

--
Posted via http://www.ruby-....

Ken Bloom

4/18/2008 8:08:00 PM

0

On Fri, 18 Apr 2008 14:33:48 -0500, Dmitry Regent wrote:


>> a = [10]
>> b = a
>> c = a
>>
>> a[0] = 20
>> puts b[0]
>> puts c[0]
>>
>> --output:--
>> 20
>> 20
>
> This way you are correcting existed object. But if you will do
>
> a = Array.new
>
> a => []
>
> but!
>
> b = [20]
> c = [20]
>
> I want to get C++ analog in ruby for operation with pointer. When i can
> destract object and constract new with this pointer.

Ruby doesn't have pointers or references the way C++ does. To get similar
behavior, you can mimic it using a 1-element array. That's what 7stud--
was demonstrating, though some description of the theory would have
helped.

--Ken

--
Ken (Chanoch) Bloom. PhD candidate. Linguistic Cognition Laboratory.
Department of Computer Science. Illinois Institute of Technology.
http://www.iit.edu...