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...
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
how to change objects in heap?
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password