Embedded Ruby


#1

Hello all,
I’m trying to embedd ruby, so far this is what I have:

ruby_init();
ruby_init_loadpath();
ruby_script(“embedded”);
rb_load_file(“my_script.rb”);
ruby_run();
/* rest of my app here */

However, ruby is taking control of my code after calling ruby_run,
since it will always call “exit” after executing the code… is there
a way to not exit after executing the ruby code?

thanks a lot,


#2

On Fri, Dec 19, 2008 at 02:46:12AM +0900, Rolando A. wrote:

However, ruby is taking control of my code after calling ruby_run, since it
will always call “exit” after executing the code… is there a way to not
exit after executing the ruby code?

This is by design ruby_run() does not return. I imagine what you want
to do is
execute your script via rb_protect(). You could take a look at
http://metaeditor.sourceforge.net/embed/ althought it is embedding ruby
in C++
much of what it talks about works for C.

How vim embedds ruby is good code to read too. Download the vim source
code and look at if_ruby.c

enjoy,

-jeremy


#3

nevermind, rb_eval_string suits my needs :stuck_out_tongue:

On Dec 18, 2008, at 2:46 PM, Rolando A. wrote:

However, ruby is taking control of my code after calling ruby_run,
since it will always call “exit” after executing the code… is
there a way to not exit after executing the ruby code?

thanks a lot,

regards,