Forum: Ruby get info from object_id

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
6087a044557d6b59ab52e7dd20f94da8?d=identicon&s=25 Peña, Botp (Guest)
on 2007-05-31 06:24
(Received via mailing list)
Hi All,

apologies in advance if this is so stupid for you (my feeble mind is
working feebly :)

so here goes,

Given an object_id, how do i get back the object that id stands for?

i'm looking for something like,

    a=[1,2,3]
    x=a.object_id
    b=Object.id_to_object(x)  #-> returns object pointed by a wc [1,2,3]
    b.class        #-> returns Array
    b          #-> [1,2,3]
    b == a        #-> true


thank you and kind regards -botp
47b1910084592eb77a032bc7d8d1a84e?d=identicon&s=25 Joel VanderWerf (Guest)
on 2007-05-31 07:05
(Received via mailing list)
Peña wrote:
> Given an object_id, how do i get back the object that id stands for?

ObjectSpace._id2ref is what you're looking for.
6087a044557d6b59ab52e7dd20f94da8?d=identicon&s=25 Peña, Botp (Guest)
on 2007-05-31 07:21
(Received via mailing list)
From: Joel VanderWerf [mailto:vjoel@path.berkeley.edu] :
# > Given an object_id, how do i get back the object that id stands for?
#
# ObjectSpace._id2ref is what you're looking for.

yikes! objectspace is the key word. should have done qri object -Osa in
the first place. arrghhh..

many thanks again, Joel.
kind regards -botp
47b1910084592eb77a032bc7d8d1a84e?d=identicon&s=25 Joel VanderWerf (Guest)
on 2007-05-31 18:46
(Received via mailing list)
Peña wrote:

> yikes! objectspace is the key word. should have done qri object -Osa in the first place. 
arrghhh..

Thanks for reminding me about qri.

What does the "s" do? I see "a", but not "s" in the help for -O:

     -O, --order ORDER                Specify lookup order.
                                      (default: eEnNpPxX)
                                      Uppercase: case-indep.
                                      e:exact n:nested p:partial
(completion)
                                      x:nested and partial m:complete
namespace
                                      f:complete both class and method
                                      a:match method name anywhere
6087a044557d6b59ab52e7dd20f94da8?d=identicon&s=25 Peña, Botp (Guest)
on 2007-06-01 05:28
(Received via mailing list)
From: Joel VanderWerf [mailto:vjoel@path.berkeley.edu] :
# Peña wrote:
# > yikes! objectspace is the key word. should have done qri
# object -Osa in the first place. arrghhh..
#
# Thanks for reminding me about qri.
#
# What does the "s" do? I see "a", but not "s" in the help for -O:
#
#      -O, --order ORDER                Specify lookup order.
#                                       (default: eEnNpPxX)
#                                       Uppercase: case-indep.
#                                       e:exact n:nested p:partial
# (completion)
#                                       x:nested and partial m:complete
# namespace
#                                       f:complete both class and method
#                                       a:match method name anywhere


Oh, i'm sorry, i tend to mixup qri options with ls (i usually do ls
-oSa). I used -S for full text, so that should be

  qri object -SOa

I usually pipe it then to less, since it's full text search output,

  qri object -SOa | less

On this current case, i should have taken a quick peek first by piping
it to grep like eg,

C:\family\ruby>qri object -SOa | less | grep -i object_id
...    r = ObjectSpace._id2ref(s.object_id)   #=> 'I am a string'
... ethod: object_id
... Document-method: object_id
and no two active objects will share an id. Object#object_id is a
share an id. Object#object_id is a different concept from the :name
Found in system  Object#object_id
objects will share an id. Object#object_id is a different concept
and no two active objects will share an id. Object#object_id is a
share an id. Object#object_id is a different concept from the :name
... Soon-to-be deprecated version of Object#object_id.
...     p res.body.object_id   # 538149362
...     p res.read_body.object_id   # 538149362

There, first hit hints at id2ref..

btw, this is qri, wc is the slower brother of the faster fri; but then
qri is a lot faster than the original ri, but you were much faster :),
so..

thanks and kind regards -botp
This topic is locked and can not be replied to.