从C#执行IronRuby时解析“require”

时间:2010-05-12 17:52:27

标签: c# ironruby

我正在尝试从C#运行IronRuby脚本:

var runtime = IronRuby.Ruby.CreateRuntime();                  
runtime.ExecuteFile("ruby/foo.rb");

foo.rb以“require:”

开头
#!/usr/bin/env ruby
require 'bar'

当我尝试这个时,我得到一个例外,说明“没有这样的文件要加载 - 吧。”文件“bar.rb”和目录“bar”都出现在“ruby”目录中。

那么,我如何执行需要其他ruby文件的ruby脚本?我的目标是.Net 3.5。

1 个答案:

答案 0 :(得分:4)

使用ScriptEngine并将ruby代码文件目录添加到搜索路径:

var engine = IronRuby.Ruby.CreateEngine();

var paths = engine.GetSearchPaths().ToList();
paths.Add(@"C:\Path\To\My\Ruby\Files"); // Add the path to your ruby code files
engine.SetSearchPaths(paths);

engine.ExecuteFile("ruby/foo.rb");