Hi,

From: Mathieu Bouchard <matju / cam.org>

> eval.c only, not in the parser. (On a side note, I have no clue why the
> capacity of [] should be 16 and ["foo"]'s should be 1.  This is funny.)

I can't speak for matz, but I guess the logic behind it is something
like below.

When ruby sees [], it figures out that something is going to be added
to it very soon (If the programmer plan not to add anything at all,
why he bother an array?).  Let prepare for it by allocating some extra
space beforehand!

It is not so sure about ["foo"], though.  Maybe the array is just made
to hold a fixed set of strings (Such arrays are very common).  Lets save
space for now!  It is not too late that allocate extra space when the
array actually beeing modified, anyways.

Regards,
Kenichi Komiya.