Ok, so setting the engine search paths solves the failure to find the library, but the ScriptScope is still coming back empty. In the example below I would have expected to see &#39;d&#39; in the ScriptScope.<br><br>c:\Binaries\IronRuby\bin&gt;ipy.exe interop.py<br>
[]<br><br>From this code:<br><br>import clr<br>clr.AddReference(&#39;IronRuby&#39;)<br>clr.AddReference(&#39;Microsoft.Scripting&#39;)<br><br>from System import Array<br><br>paths = [r&#39;C:\Binaries\IronRuby\lib\IronRuby&#39;, r&#39;C:\Binaries\IronRuby\lib\ruby\1.8&#39;]<br>
array = Array[str](paths)<br><br>source_code = &quot;require &#39;date&#39;\nd = Date::civil(2003, 4, 8)\n&quot;<br><br>from Microsoft.Scripting import SourceCodeKind<br>from IronRuby import Ruby<br>engine = Ruby.CreateEngine()<br>
engine.SetSearchPaths(array)<br>source = engine.CreateScriptSourceFromString(source_code, SourceCodeKind.Statements)<br>scope = engine.CreateScope()<br>source.Execute(scope)<br><br>print dir(scope)<br><br>Michael<br><br><div class="gmail_quote">
2009/8/22 Michael Foord <span dir="ltr">&lt;<a href="mailto:fuzzyman@voidspace.org.uk">fuzzyman@voidspace.org.uk</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello all,<br>
<br>
I&#39;ve played a little bit with IronPython and IronRuby interop with the IronRuby 0.9 binaries.<br>
<br>
A very basic example works as expected:<br>
<br>
IronPython 2.6 Beta 2 (2.6.0.20) on .NET 2.0.50727.4927<br>
Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.<br>
&gt;&gt;&gt; import clr<br>
&gt;&gt;&gt; clr.AddReference(&#39;IronRuby&#39;)<br>
&gt;&gt;&gt; from IronRuby import Ruby<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; engine = Ruby.CreateEngine()<br>
&gt;&gt;&gt; source = engine.CreateScriptSourceFromString(&quot;puts &#39;Hello from Ruby&#39;&quot;)<br>
&gt;&gt;&gt; scope = engine.CreateScope()<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; source.Execute(scope)<br>
Hello from Ruby<br>
&gt;&gt;&gt;<br>
<br>
<br>
However my attempts to use a Ruby library fails. The same code works when executed from ir.exe:<br>
<br>
&gt;&gt;&gt; import clr<br>
&gt;&gt;&gt; clr.AddReference(&#39;IronRuby&#39;)<br>
&gt;&gt;&gt; clr.AddReference(&#39;Microsoft.Scripting&#39;)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; from Microsoft.Scripting import SourceCodeKind<br>
&gt;&gt;&gt; from IronRuby import Ruby<br>
&gt;&gt;&gt; engine = Ruby.CreateEngine()<br>
&gt;&gt;&gt; source = engine.CreateScriptSourceFromString(&quot;require &#39;date&#39;&quot;, SourceCodeKin<br>
d.Statements)<br>
&gt;&gt;&gt; scope = engine.CreateScope()<br>
&gt;&gt;&gt; source.Execute(scope)<br>
Traceback (most recent call last):<br>
 File &quot;&lt;stdin&gt;&quot;, line 1, in &lt;module&gt;<br>
Exception: no such file to load -- date<br>
&gt;&gt;&gt;<br>
<br>
I tried adding a reference to IronRuby.Libraries to the runtime associated with the Ruby engine (using runtime.LoadAssembly) but this didn&#39;t help.<br>
<br>
Requiring Ruby modules I&#39;ve written myself doesn&#39;t blow-up but doesn&#39;t populate the scriptscope they are executed in with anything. Likewise calling engine.ExecuteFile(&#39;foo.rb&#39;) returns an empty ScriptScope.<br>

<br>
Any ideas?<br>
<br>
All the best,<br>
<br>
Michael Foord<br><font color="#888888">
<br>
-- <br>
<a href="http://www.ironpythoninaction.com/" target="_blank">http://www.ironpythoninaction.com/</a><br>
<a href="http://www.voidspace.org.uk/blog" target="_blank">http://www.voidspace.org.uk/blog</a><br>
<br>
<br>
</font></blockquote></div><br><br clear="all"><br>-- <br><a href="http://www.ironpythoninaction.com/">http://www.ironpythoninaction.com/</a><br><br><br>