C#からIronRubyへの変換

  • 概要

    C#からIronRubyに変換する方法等が記載されています。

  • まず、本当にIronRubyにする必要があるか?

    hmRb/IronRubyは、C#で作成された.dllをそのまま実行可能です。
    もちろんC#で定義されたクラスをIronRubyで継承して利用することも可能です。

    「C#」は

    • 「Visual Studio」による強力なサポートと開発効率
    • 十分に高速な実行速度
    • 美しくも柔軟性のある文法

    と非常に高バランスで均衡がとれた言語です。
    IronRubyに変換する前に、C#でそのまま作った方が良いのではないか?
    ということを検討することをお勧めします

    当管理人としては、基本的な指針としては、

    • コンポーネントといえる「部品」
    • コンポーネントを利用した「基本制御」

    ぐらいまではC#で作成し、

    • テキストに出した方が柔軟性が確保出来るところ
    • 秀丸マクロと通信する必要がある変数

    だけIronRubyにする、というのが理想的ではないかと考えています。

  • SharpDevelop 4.4でC#からIronRubyに変換できる

    C#で制作したソースは、「C#文法」に「対応する文法」が「IronRuby文法」に存在するものに関してなら、
    SharpDevelop 4.4で機械的にIronRubyへと変換可能です。

    これはC#での制作経験は豊富だが、IronRubyの経験は乏しいといった人に、
    向いた変換手法と言えるでしょう。
    (日本国内でプログラムを記述する人は大半がIronRubyよりC#の方が経験があると思われます)

    SharpDevelop導入時にファイル拡張子の関連付けをするな!! C#ユーザーのほとどがVisual Studioにて開発しているでしょうから、
    SharpDevelop導入の際、インストール時に「ファイルの関連付け」を設定する項目がありますが、
    間違ってチェックを入れてしまわないように注意しましょう。

    変換すると"System, Version=2.0.0.0 等となりますが、(この記述を利用する場合は)Version=4.0.0.0と修正する必要があります。