[#1215] Tk widget demo; English Tk docs?; Java 1.2 Swing — "Conrad Schneiker" <schneiker@...>
Hi,
[#1218] Trivial FAQ bug — Dave Thomas <Dave@...>
[#1229] A vote for old behavior — Dave Thomas <Dave@...>
[#1232] Any FAQ requests, updates, ... — Dave Thomas <Dave@...>
[#1233] Singleton classes — Dave Thomas <Dave@...>
[#1263] Draft of the updated Ruby FAQ — Dave Thomas <Dave@...>
[#1307] Ruby/GTK 0.23 released — Hiroshi IGARASHI <igarashi@...>
Hi all,
From: Hiroshi IGARASHI <igarashi@ueda.info.waseda.ac.jp>
From: "Conrad Schneiker" <schneiker@jump.net>
On Fri, Feb 18, 2000 at 09:37:27PM -0500, Yasushi Shoji wrote:
[#1322] FAQ: Ruby acronyms — "Conrad Schneiker" <schneiker@...>
In the spirit of TABWTDI (there are better ways to do it), I'd like to
[#1341] Vim syntax file — Mirko Nasato <mirko.nasato@...>
Hi,
On Mon, Feb 14, 2000 at 05:44:39PM +0100, Mirko Nasato wrote:
[#1354] Say hi (bis) — Pixel <pixel_@...>
hi all,
[#1355] nice sample for functional stuff — Pixel <pixel_@...>
what about having map in standard (and map_index too)?
[#1373] Ruby Language Reference Manual--Glossary — "Conrad Schneiker" <schneiker@...>
I was going to print the Ruby Language Reference Manual when I noticed that
[#1376] Re: Scripting versus programming — Andrew Hunt <andy@...>
Conrad writes:
[#1379] Re: Yield — Andrew Hunt <andy@...>
>From: "Conrad Schneiker" <schneiker@jump.net>
[#1384] Re: Say Hi — mengx@...
My suggestion was to try to find a more comfortable method name (to me, and
[#1392] Re: Some Questions - Parameterised Types / Invariants — Andrew Hunt <andy@...>
>1. Parameterised Types / Template Classes
[#1398] Bignum aset — Andrew Hunt <Andy@...>
[#1488] Discussion happens on news.groups — Clemens Hintze <c.hintze@...>
Hi,
[#1508] Ruby/GTK and the mainloop — Ian Main <imain@...>
Hello Ian,
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.))
From: "Conrad Schneiker" <schneiker@jump.net>
[#1528] ruby <=> python — Quinn Dunkan <quinn@...>
Hello! I'm new to ruby-talk, and mostly new to ruby. I'm making a document
[#1551] Ruby thread scheduling buglet — Ian Main <imain@...>
[#1569] Re: Ruby: constructors, new and initialise — Yukihiro Matsumoto <matz@...>
The following message is a courtesy copy of an article
[#1591] Certain char's not recognized by "." in regex? — Wes Nakamura <wknaka@...>
[#1592] Race condition in Singleton — Dave Thomas <Dave@...>
[ruby-talk:01631] Re: Ruby: constructors, new and initialise
Dave Thomas <Dave@Thomases.com> writes: |Yukihiro Matsumoto <matz@netlab.co.jp> writes: | |> 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'. | |But say I was implementing a sortable array, where I wanted to |allocate twice the requested storage: the first half to hold the |values, the second half pointers to these values. (Don't ask me why, |because I have no idea. It's a silly example). | | class MyArray < Array | def MyArray.new(size) | super(size*2) | end | | def initialize(size) | self.[size/2...size] = (0...size/2).to_a | end | end | |Now, I know I could do this using delegation, but in this case |subclassing seems natural. | |If I hadn't read this thread, I'd expect that MyArray.new(3) would |call MyArray.initialize(6). Yes, but you have to stick with size. For example, if you want to create initialized SortedArray by specifying elements like ary = SortedArray(1,5,4,3,7,3) you just can't. I feel this as restriction. In addition, | class PrimeArray < Array | def initialize | for i in 0...size | self.[i] = nextPrime | end | end | end initialize should always take one argument, even if it does not use it. It can be error prone. |It seems to me that logically, 'new' allocates the storage for the |object, and 'initialize' initializes that store. Yes. The point is the argument to `new' is shared by both methods. I think they should belong to `initialize' as much as possible, to enhance future extensibility. matz. p.s. I'm getting tired of cross-posting to the list and comp.lang.misc.