Get info from object_id

Hi All,

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

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

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.

路路路

--
       vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407

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

路路路

From: Joel VanderWerf [mailto:vjoel@path.berkeley.edu] :
#
# 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

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

--
       vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407

# Pe帽a wrote:
# > yikes! objectspace is the key word. should have done qri
# object -Osa in the first place. arrghhh..

路路路

From: Joel VanderWerf [mailto:vjoel@path.berkeley.edu] :
#
# 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