[#4567] Re: What's the biggest Ruby development? — Aleksi Niemel<aleksi.niemela@...>

Dave said:

18 messages 2000/08/23
[#4568] Q's on Marshal — Robert Feldt <feldt@...> 2000/08/23

[#4580] RubyUnit testcase run for different init params? — Robert Feldt <feldt@...> 2000/08/25

[#4584] Re: RubyUnit testcase run for different init params? — Dave Thomas <Dave@...> 2000/08/25

Robert Feldt <feldt@ce.chalmers.se> writes:

[#4623] Re: RubyUnit testcase run for different init params? — Robert Feldt <feldt@...> 2000/08/28

On Sat, 26 Aug 2000, Dave Thomas wrote:

[#4652] Andy and Dave's European Tour 2000 — Dave Thomas <Dave@...>

24 messages 2000/08/30
[#4653] Re: Andy and Dave's European Tour 2000 — matz@... (Yukihiro Matsumoto) 2000/08/30

Hi,

[#4657] Ruby tutorials for newbie — Kevin Liang <kevin@...> 2000/08/30

Hi,

[ruby-talk:04491] Re: Invoking an extension after compilation

From: matz@... (Yukihiro Matsumoto)
Date: 2000-08-17 15:12:53 UTC
List: ruby-talk #4491
Hi,

In message "[ruby-talk:04481] Invoking an extension after compilation"
    on 00/08/16, Dave Thomas <Dave@thomases.com> writes:

|I want to write a C extension module which runs automatically after a
|source file has been read, but before it executes. I tried putting the 
|following in the Init_ function:
|
|  code = NEW_CALL(NEW_CONST(rb_intern("Stuff")), rb_intern("doIt"), 0);
|  
|  ruby_eval_tree_begin = block_append(ruby_eval_tree_begin, code);
|
|
|However, this didn't work, because require_libraries in ruby.c saves
|and restores the value in ruby_eval_tree_begin.

I'm not sure what did you want to do, but I guess

  rb_eval_string("Stuff.doIt");

or

  rb_funcall(rb_cStuff, rb_intern("doIt"), 0);

at the end of Init_ function may work for you.

FYI, registering END block is harder.
Use rb_set_end_proc(void (*func)(), VALUE data);

							matz.

In This Thread