前回のエントリーでIronPython 2.0A3がリリースされたことをお知らせしました。リリースノートによると、IronRuby1.0プレアルファに含まれるDLRと同期したバージョンだと記載がされています。このA3を使って作成済みの資料に影響があるかどうかを調べています。結果としてはASTレベルでは、特に影響は見られませんでした。ほっと一息をついたのですが、色々と調べていくと生成されるILレベルでは、変化が見られました。このことは、DLRの中に関する変更が行われたということを意味しています。どういう変更かは、生成されるILをA2と較べてみていただければ理解できるかと思います。
せっかくなのでIronRubyと同居できるかを試してみました。自分でビルドしたipy.exeとIronPython.dll、IronPython.Modules.dllをIronRubyをビルドしたフォルダにコピーして、ipy.exeを動かしてみました。結果は問題なく動作しました。動作するということは、IronPythonからRubyのスクリプトを使ってみようと実験してみました。試したコードは、以下のようなものです。
import clr r = clr.Use("test.rb", "rb") # 実行した結果が表示されます。
def test(a) return a + " ,Hello" end puts test "IronRuby"