C# から IronRuby スクリプトの呼び出し

| コメント(0) | トラックバック(0) このエントリーを含むはてなブックマーク

C# から IronRuby の呼び出しをしてみたくなったので、試してみる。

 

事前条件

以下の物が必要なので、用意の事

  • Visual Studio 2008
    Express edion でも動作すると思う。今回は Standard Edition の英語版を利用している。
  • IronRuby 0.9.2


手順

  1. IronRubyを展開する
  2. Visual Studio 2008 で Console アプリケーションを作成
  3. 参照設定でIronRuby等を追加する
  4. Using を記述する
  5. IronRuby のエンジンを生成する
  6. ruby コードを渡してコードの評価を行う


準備

まず、IronRubyを取得する。今回は 0.9.2 を利用した。(とりあえず ZIP 版をダウンロードした)

次に、上記ZIPファイルを適当なフォルダへ展開する。

 

コード生成

Visual Studio を立ち上げ、コンソールアプリケーションのひな型を作る。

そのあと、「参照設定」でアセンブリを追加する。この時 IronRuby を展開したフォルダ\bin\ に以下のファイルがあるので追加する。20091124_ironruby_02.png

  • IronRuby.dll
  • IronRuby.Libraries.dll
  • Microsoft.Scripting.dll

追加後、参照設定が以下のようになればOK。(スクリーンショットは英語版なので若干雰囲気が違うはず)

20091124_ironruby_01.png

 

ソースコード

以下のコードを追加すればOK

using System;
using Microsoft.Scripting.Hosting;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            ScriptRuntime runtime = IronRuby.Ruby.CreateRuntime();   //1
            var engine = runtime.GetEngine("rb");                    //2
            engine.Execute("puts 'Hello IronRuby'");                 //3
            Console.ReadLine();  //改行待ち
        }
    }
}

 //1 の部分で、スクリプトランタイムを製私営します。そのランタイムから、//2で、エンジンを取得します。このエンジンに実行したい ruby script を渡すと(//3)、ruby script が評価され画面に文字列が表示される。最後は、コンソールで改行が押されるまで、待つことになる。


さいごに

以上の方法で、C# から IronRuby のコードが呼び出せます。C#からIronRuby のコードを実行できるようになると夢が広がる。

 

トラックバック(0)

トラックバックURL: http://www.m-tea.info/mt-tb.cgi/22

コメントする

あわせて読みたいブログパーツ

このブログ記事について

このページは、k1ha410が2009年11月24日 17:30に書いたブログ記事です。

ひとつ前のブログ記事は「Windows Virtual PC のゲストとホストの共有フォルダ」です。

次のブログ記事は「We love the kernel mode」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。