[#1649] Re: New Ruby projects — Yukihiro Matsumoto <matz@...>
The following message is a courtesy copy of an article
[#1672] Re: Ruby 1.4 stable manual bug? — Yukihiro Matsumoto <matz@...>
The following message is a courtesy copy of an article
[#1673] Re: Possible problem with ext/socket in 1.5.2 — itojun@...
[#1694] Conventions for our Ruby book — Dave Thomas <Dave@...>
[#1715] Install postgresql support — Ikhlasul Amal <amal@...>
Hi all,
Hi,
[#1786] Is this a bug? — Clemens Hintze <clemens.hintze@...>
(mailed & posted)
[#1814] Objects nested sometimes. — Hugh Sasse Staff Elec Eng <hgs@...>
I am attemptiong to write a package which consists of a workspace
[#1816] Ruby 1.5.3 under Tru64 (Alpha)? — Clemens Hintze <clemens.hintze@...>
Hi all,
Hi,
Yukihiro Matsumoto writes:
Hi,
Hi,
[#1834] enum examples? — Hugh Sasse Staff Elec Eng <hgs@...>
Has anyone any examplse of using the Enumerable module? I've had a
[#1844] Minor irritation, can't figure out how to patch it though! — Hugh Sasse Staff Elec Eng <hgs@...>
I was considering how difficult it would be to patch Ruby to accept
[#1889] [ruby-1.5.3] require / SAFE — ts <decoux@...>
[#1896] Ruby Syntax similar to other languages? — "David Douthitt" <DDouthitt@...>
From: Yukihiro Matsumoto <matz@netlab.co.jp>
[#1900] Enumerations and all that. — Hugh Sasse Staff Elec Eng <hgs@...>
Thank you to the people who responded to my questions about Enumerated
Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
On 16 Mar 2000, Dave Thomas wrote:
[#1929] Re: Class Variables — "David Douthitt" <DDouthitt@...>
| "David Douthitt" <DDouthitt@cuna.com> writes:
[#1942] no Fixnum#new ? — Quinn Dunkan <quinn@...>
Ok, I can add methods to a built-in class well enough (yes I know about succ,
[#1989] English Ruby/Gtk Tutorial? — schneik@...
Hi,
[#2022] rb_global_entry — ts <decoux@...>
[#2036] Anonymous and Singleton Classes — B_DAVISON <Bob.Davison@...>
I am a Ruby newbie and having some problems getting my mind around certain
[#2069] Ruby/GTK+ question about imlib --> gdk-pixbug — schneik@...
[#2073] Re: eval.rb fails — "Dat Nguyen" <thucdat@...>
The doc is fine, this happens only if you try to execute 'until' block
On Wed, 22 Mar 2000, Dat Nguyen wrote:
[#2084] Scope violated by import via 'require'? — Clemens Hintze <c.hintze@...>
Hi,
[#2104] ARGF or $< — Hugh Sasse Staff Elec Eng <hgs@...>
Has anyone any examples of how to use ARGF or $< as I cannot find much
Hi.
[#2165] Ruby strict mode and stand-alone executables. — "Conrad Schneiker" <schneiker@...>
Some people want Ruby to have a strict compile mode.
[#2203] Re: parse bug in 1.5 — schneik@...
[#2212] Re: Ruby/Glade usage questions. — ts <decoux@...>
>>>>> "m" == mrilu <mrilu@ale.cx> writes:
[#2241] setter() for local variables — ts <decoux@...>
[#2256] Multiple assignment of pattern match results. — schneik@...
[#2267] Re: Ruby and Eiffel — h.fulton@...
[#2309] Question about attribute writers — Dave Thomas <Dave@...>
Clemens Hintze <c.hintze@gmx.net> writes:
[ruby-talk:01956] Re: object creation
Dave Thomas writes: > Clemens Hintze <c.hintze@gmx.net> writes: ... > > It would be easier, of course. But it would also be slower and would > > invoke the interpreter again. I would code an own local function, that > > call the fgdbm_s_open function directly. Then I would use this local > > function in my extension. > > Now I'm probably missing something, but wouldn't calling the > constructor indirectly also allow the users of the extension override > the default initialization? > > To me, it seems like the interpreter goes to a lot of trouble to use > rb_funcall to ensure that it correctly allows the user to override > methods. Shouldn't the extensions do likewise? Boommer ... ... ... :-) Now you have hit me while I am standing on the left foot ... :-) I must admit, I have never thought of this. Overwriting class creation methods? I do not like this too much! It is possible in Ruby, as Ruby takes all the methods the same. But I never thought to do this! Perhaps I am wrong here, but I do not believe the interpreter use rb_funcall in internal classes to allow user to overwrite existing methods. It should do it to allow, that subclasses provide another implementation of a certain method. I consider using rb_funcall or direct call within extensions more like the late binding/early binding question in C++. IMHO, it is very dangerous to overwrite class creation methods of extension classes if the class was not written by me! Because the constructor or the initializator (?right word?) have to allocate memory. Memory that is not necessarily directly visible on Ruby level. If I overwrite such a method, I would have to call it, 'though. Otherwise the memory wouldn't be allocated or the instance would not be initialized correctly. Built-in classes do not use rb_funcall all the time! Please consider how often you can see a RSTRING(obj)->len or a RARRAY(obj)->len therein. If I would overwrite String#length or Array#length the built-in classes would not honor that, however! I think there is perhaps no "true" way here! The extension developper has to decide from case to case, if s/he wants to call the C function directly or using rb_funcall. Other opinions to that topic? :-) > > Regards > > > Dave \cle -- Clemens Hintze mailto: c.hintze@gmx.net