我正在尝试从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。
答案 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");