Get info from object_id


#1

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


#2

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.


#3

From: Joel VanderWerf [mailto:removed_email_address@domain.invalid] :

> 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


#4

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


#5

From: Joel VanderWerf [mailto:removed_email_address@domain.invalid] :

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