Yukihiro Matsumoto
1/8/2008 3:37:00 AM
Hi,
In message "Re: Embedding 1.9"
on Tue, 8 Jan 2008 06:44:08 +0900, Dave Thomas <dave@pragprog.com> writes:
|Folks:
|
|I'm working on the "Extending Ruby" chapter (now an appendix) for the
|third PickAxe, and I'm finding a whole bunch of conflicting
|information. Reading the source, it seems like there's no canonical
|way of embedding Ruby in a C application. I have lots of alternatives
|that _seem_ to work, but I want to be more authoritative than that.
|
|Does anyone have any pointers to stuff that would help?
Perhaps "authoritative" means "information from the original author"
but I don't remember I wrote such document (sigh).
Basically, you have to call:
ruby_sysinit() for command line argument initialization (optional)
RUBY_INIT_STACK() for GC stack initialization
ruby_init() for ruby interpreter initialization
and wrap ruby calls with rb_protect() for initialize exception frame.
You can load Ruby programs with rb_load(). You can call ruby programs
from string via rb_eval_string().
matz.