[#1263] Draft of the updated Ruby FAQ — Dave Thomas <Dave@...>

33 messages 2000/02/08

[#1376] Re: Scripting versus programming — Andrew Hunt <andy@...>

Conrad writes:

13 messages 2000/02/15

[#1508] Ruby/GTK and the mainloop — Ian Main <imain@...>

17 messages 2000/02/19
[#1544] Re: Ruby/GTK and the mainloop — Yasushi Shoji <yashi@...> 2000/02/23

Hello Ian,

[#1550] Re: Ruby/GTK and the mainloop — Ian Main <imain@...> 2000/02/23

On Wed, Feb 23, 2000 at 02:56:10AM -0500, Yasushi Shoji wrote:

[#1516] Ruby: PLEASE use comp.lang.misc for all Ruby programming/technical questions/discussions!!!! — "Conrad Schneiker" <schneiker@...>

((FYI: This was sent to the Ruby mail list.))

10 messages 2000/02/19

[#1569] Re: Ruby: constructors, new and initialise — Yukihiro Matsumoto <matz@...>

The following message is a courtesy copy of an article

12 messages 2000/02/25

[ruby-talk:01627] Re: Ruby: constructors, new and initialise

From: Yukihiro Matsumoto <matz@...>
Date: 2000-02-28 14:20:03 UTC
List: ruby-talk #1627
The following message is a courtesy copy of an article
that has been posted to comp.lang.misc as well.

Hi,
Dave Thomas <Dave@Thomases.com> writes:

|Yukihiro Matsumoto <matz@netlab.co.jp> writes:
|
|> `initialize' trick requires two things:
|> 
|>   * `new' accepts arbtrary number of arguments
|>   * `new' does not use arguments to allocate object,
|>     just pass to `initialize'
|
|Now I know I'm being stupid here. If Array.new did the object
|allocation, and then passed all its arguments to initialize to do
|further initialization on that object, it seems we get the best of
|both worlds. I don't see that it's necessary for .initialize to do the 
|allocation (any more than Dave.initialize allocates the underlying
|memory for a Dave object--it may create instance variables, but
|there's still the object structure allocated by New). 

If allocation at `new' uses its arguments, the argument behavior is
fixed, size of internal buffer in this case.  If you want to make
subclass of Array, and initialize it by some arguments, you'll meet
restriction about arguments to `new'.

I think reallocation in Array#initialize can be compromised.
I'm not sure whether this workaround goes well for other classes,
But it was OK for Array, Hash, String, and Dir at least.
I hacked last weekend.
							matz.

In This Thread