Object id

u@l:~> ruby -v
ruby 1.8.1 (2003-12-25) [i686-linux]

u@l:~> ruby -w -e 'class C; end; c1 = C.new; p c1; puts c1.object_id'
#<C:0xb7d921c8>
-605253404

What id does the object "c1" have - 0xb7d921c8 or -605253404 ?
If -605253404, why it is negative?

Thanks for the answer!

···

--
   s&g

Hi,

···

In message "Re: Object id" on Thu, 20 Jan 2005 00:51:19 +0900, Sea&Gull <v@vsu.ru> writes:

u@l:~> ruby -w -e 'class C; end; c1 = C.new; p c1; puts c1.object_id'
#<C:0xb7d921c8>
-605253404

What id does the object "c1" have - 0xb7d921c8 or -605253404 ?
If -605253404, why it is negative?

-605253404 (0xb7d921c8 is an "address" of the object).
And it's negative just because object_id is an arbitrary integer
number.

              matz.

Yukihiro Matsumoto wrote:

Hi,

>u@l:~> ruby -w -e 'class C; end; c1 = C.new; p c1; puts c1.object_id'
>#<C:0xb7d921c8>
>-605253404
>
>What id does the object "c1" have - 0xb7d921c8 or -605253404 ?
>If -605253404, why it is negative?

-605253404 (0xb7d921c8 is an "address" of the object).
And it's negative just because object_id is an arbitrary integer
number.

              matz.

Ok, it's now clear :slight_smile:
I have not seen in "Programming Ruby" or anywhere else
that object_id can be a negative integer, so I was a bit confused
when saw it myself in experiments with Ruby.

···

In message "Re: Object id" > on Thu, 20 Jan 2005 00:51:19 +0900, Sea&Gull <v@vsu.ru> writes: