0

偶然发现 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 做广告的,我不想使用)

4

1 回答 1

1

它可能只是一开始就编译所有内容的 JIT。如果您想对此进行测试,请在 hello world 之后立即执行不同的脚本,它应该会立即打印到控制台。

于 2012-07-30T03:29:08.957 回答