You can execute Python code from Ruby in 2 ways:

1.       Use the Hosting API from Ruby. I have a "python.rb" lying around that 
I usually use which demonstrates what to do: http://gist.github.com/132558 
(this one is for Silverlight, line 10 will have to be slightly changed for the 
Desktop).

2.       Use the DLR language interop. Read Tomas' blogpost about it: 
http://blog.tomasm.net/2009/04/15/python-says-hello-to-ruby/
~js

From: [email protected] 
[mailto:[email protected]] On Behalf Of Thibaut Barrère
Sent: Friday, June 19, 2009 4:03 AM
To: Discussion of IronPython
Subject: Re: [IronPython] Importing .py files embedded as resources (from 
Silverlight)

Hi Jimmy,

No special support; you'll have to iterate over all the files as resources, get 
their contents, and do the following:

var scope = scriptEngine.CreateScope();
scriptEngine.CreateScriptSourceFromString(code).Execute(scope);

Though, why not just put the python files in the XAP? Then importing will just 
work, since the engine knows how to look in the XAP. If you're really hellbent 
on having them as resources, you could built a custom version of 
Microsoft.Scripting.Silverlight.BrowserPAL to look for files as embedded 
resources.

I just had a chat with Ivan and he suggested the same idea. For some reason I 
thought that it would be hard to mix .py and .rb directly, but the dlrconsole 
sample does that, it seems.

So I'm going to follow that advice and put the .py files into the XAP, and let 
the engine do the job.

I still have one question then: if the main app file is a Ruby one, how can I 
call the Python function from there ?

-- Thibaut
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to