偶然发现 IronRuby 并认为它很有趣。决定试一试。
我有一些我想分发的 ruby 脚本。但是,我的听众可能在他们的系统上安装了也可能没有安装 ruby,但他们会安装 .net,所以我想我只需将 C# GUI 与 Iron ruby dll 捆绑在一起,这样他们就可以运行这些 ruby 脚本而无需必须安装红宝石。而且我还可以利用在 C# 中制作 GUI。
所以我决定通过简单地运行一个文件来测试它
ScriptEngine engine = Ruby.CreateEngine();
engine.ExecuteFile("hello_world.rb");
hello_world.rb
包含一行
3.times { p 'hello' }
然后我让我的应用程序运行并等待......
几秒钟后,它打印hello
到控制台 3 次。
那个红宝石引擎应该需要很长时间吗?我想我可以启动引擎,然后让它在程序期间运行,但是不得不等待它启动可能会很无聊。
我正在使用为 .net 2.0 构建的 IronRuby 1.0,如果它有所作为(我没有尝试过 1.1,但它是为 .net 4 做广告的,我不想使用)