From: Yukihiro Matsumoto Date: 2008-01-08T12:36:56+09:00 Subject: Re: Embedding 1.9 Hi, In message "Re: Embedding 1.9" on Tue, 8 Jan 2008 06:44:08 +0900, Dave Thomas 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.