[MacRuby-devel] integrating macruby into cocoa apps

Laurent Sansonetti lsansonetti at apple.com
Tue Mar 18 14:50:19 PDT 2008


On Mar 18, 2008, at 2:14 PM, Niko Matsakis wrote:

> I downloaded the early release of MacRuby hoping to integrate it into
> an existing cocoa application: I need to be able to run small amounts
> of user-supplied code to do custom string manipulations, and I thought
> MacRuby might be perfect for this.  However, I don't see any obvious
> way to hand off an NSString with code and have it execute in some
> environment.  Does such an API exist?  The only entry point I saw was
> macruby_main(), which doesn't seem quite right, or ruby_exec_node()
> which looks pretty low-level.  I realize that MacRuby is still in an
> early state, but I just wanted to be sure I wasn't overlooking
> something before I dug too much deeper.

At the moment the only thing you can do is to use the C APIs, which  
are not really user-friendly.

We could introduce a convenience facility to evaluate code.

   NSNumber *number = [@"1+2+3+4+5" evaluateAsRubyExpression];


Or directly calling Kernel#eval from Objective-C, as Ben said, which  
should work in theory, though I didn't try it yet.


More information about the MacRuby-devel mailing list