Thanks for the clarification.  This answers my question, and an empty 
array subclass is precisely what I'm after.

Unfortunately, I am using 1.6.8.  How stable is 1.8?

(By the way, I received this moments after I sent my previous email.)

On Monday, March 24, 2003, at 10:48 PM, Yukihiro Matsumoto wrote:

> Hi,
>
> In message "Re: Writing a new method in C for a subclass"
>     on 03/03/25, David King Landrith <dave / landrith.com> writes:
>
> |I am wondering if there is anything special that I must do to create a
> |method that instantiates a new MyArray object in c.  All of the
> |examples of "new" methods (meaning a methods that are declared using
> |the form rb_define_singleton_method(myClass, "new", myClass_new, argc)
> |simply extend rb_cObj.
>
> If you're using 1.8.0, you just need to call
>
>   ary = rb_obj_alloc(YourArraySubclass);
>
> to get new instance of your class.  But since allocated instance is an
> empty array, you need to call rb_ary_store() to store object to
> allocate internal buffer.
>
> Making a subclass of built-in classes is more difficult than making
> subclass of Object.  You may need to dig into the interpreter
> source code.
>
> 							matz.
>
>
-------------------------------------------------------
David King Landrith
   (w) 617.227.4469x213
   (h) 617.696.7133

One useless man is a disgrace, two
are called a law firm, and three or more
become a congress   -- John Adams
-------------------------------------------------------
public key available upon request