[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Embedded Ruby

Rolando Abarca

12/18/2008 5:46:00 PM

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,
--
Rolando Abarca M.





2 Answers

Jeremy Hinegardner

12/18/2008 6:02:00 PM

0

On Fri, Dec 19, 2008 at 02:46:12AM +0900, Rolando Abarca wrote:
> 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?
>

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.... 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

--
========================================================================
Jeremy Hinegardner jeremy@hinegardner.org


Rolando Abarca

12/18/2008 6:03:00 PM

0

nevermind, rb_eval_string suits my needs :-P

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

> 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,

regards,
--
Rolando Abarca M.