Look up objects by object_id


#1

So ruby objects have an object_id. What is the intended purpose of
these unique identifiers? Is their a method that allows one to
retrieve a object by object_id? Thanks in advanced.


#2

On 10.11.2008 22:06, exiquio wrote:

So ruby objects have an object_id. What is the intended purpose of
these unique identifiers? Is their a method that allows one to
retrieve a object by object_id? Thanks in advanced.

http://ruby-doc.org/core/classes/ObjectSpace.html#M006793

robert


#3

exiquio wrote:

So ruby objects have an object_id. What is the intended purpose of
these unique identifiers? Is their a method that allows one to
retrieve a object by object_id? Thanks in advanced.

The object_id is an encoded version of the object reference and class.
For certain classes (e.g. Fixnum) you can decode the actual value. For
other classes it encodes the memory address where the object data
structure can be found.

If two object references have the same object_id, then they are the same
object.

As for retrieving by object_id, see ObjectSpace._id2ref(ref). There are
practical examples in drb/drb.rb and weakref.rb in the standard library
that you can look at.


#4

On Nov 10, 4:30 pm, Brian C. removed_email_address@domain.invalid wrote:

If two object references have the same object_id, then they are the same
object.

As for retrieving by object_id, see ObjectSpace._id2ref(ref). There are
practical examples in drb/drb.rb and weakref.rb in the standard library
that you can look at.

Posted viahttp://www.ruby-forum.com/.

thanks for the help