hi,

On Thu, Mar 21, 2013 at 9:03 AM, Charles Oliver Nutter
<headius / headius.com> wrote:
> My question for ruby-core: at what point did you decide to make hash
> for e.g. nil not be a single value (it was "4" in 1.8.7 and
> different/random in 1.9.3+), and why did you do it?

Wait, `nil.id` returns NoMethodError, `nil.__id__` returns '4' (1.9.3)
or '8' (2.0.0+),
not a random value.

`Object#__id__` shows a value of `VALUE` type in internal of its object,
And `4` and `8` means `nil`, and it's a fixed value (in internal).

VALUE is a type like a pointer in C, and it shows a object in Ruby level.
and some types are not pointer, shows object directly.
(for examples, Fixnum and Flonum, true, false, and nil.)



--
Shota Fukumori a.k.a. @sora_h - http://sorah.jp/