[#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@...>
[#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,
[#1981] Time::at — "David Douthitt" <DDouthitt@...>
or whatever the right syntax is :-)
[#1989] English Ruby/Gtk Tutorial? — schneik@...
Hi,
SugHimsi(%HeIsSaidJustToLoseHisPatienceOnThisSubject;-).
[#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@...>
[ruby-talk:01927] Re: object creation
Andrew Hunt writes: > >> Agreed, but here's my real question: suppose you have a > >> non-built- in class such as MD5, which does not expose a > >> C-level constructor (something like rb_str_new, > >> rb_time_new, etc). What is the preferred way to create a > >> new MD5 object from C code? > > > >Hmmmm! I would say that this is impossible, at a first > >glance. This MD5 class has to implement a C function that > >would be connected to MD5::new at Ruby level. So you would > >have to search something like (example taken from > >ext/gdbm/gdbm.c): > > > > rb_define_singleton_method(cGDBM, "new", fgdbm_s_open, -1); > > If a class defines it's own new (or open, or whatever) wouldn't it > be easier just to call that method using the funcall mechanism? 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. If I program in C, I would not want the parser and evaluator to be invoked to often. Otherwise I would end with write the app totally in Ruby, store it in an char* and pass it to the eval-loop. > Of course, the preferred route would be to define a C-level > constructor (as the built-in classes have). But if that didn't > exist, as is the case with MD5, wouldn't it be better to call the > "new" method through a funcall rather than poking around directly in > its implementation? See my remark above. But of course, the performance penalty would not be that much high, that I couldn't do it the way you propose. It is a matter-of-taste at the end, IMHO. That I wouldn't do it does not mean you shouldn't do it too. :-))) > >I admit, it looks a little bit complicate. That is the > >reason, extensions should have a method like rb_str_new2 > >(that I would call an C constructor) too, if they are > >intended to be used on C level. > > I agree completely; I think all extensions should define a C > constructor - I shall make that recomendation in our book... Hmm! Because you mention the book ... If I code a class in a C extension there will be no problem if I derive other classed coded in Ruby from it. But if I want to code that child class also in C there will be a problem if we follow the 'normal' official way of handling such things in the 'new' method. In [ruby-talk:00631] I had propose a way, that could also make possible to simulate inheritance for derived child classes coded in C too. The way would be transparent for child classes coded in C or in Ruby. I had asked the member of ruby-talk to tell me what they think about it, but hadn't seen any answer afterwards. So I had feared that it was again a stupid proposal from me ... Now seeing messages like [ruby-talk:1875] or [ruby-talk:1894] it seems to me that this could be what I had proposed in the past. Perhaps you could re-read my old post. If you cannot find a flaw in it, I would propose to mention this way also. > > /\ndy > ... -- Clemens Hintze mailto: c.hintze@gmx.net