導入
| 鉄ルビー | |
| 開発者 | Microsoft 動的言語ランタイム チーム |
|---|---|
| 最新の安定バージョン | IronRuby 0.9 (2009 年 8 月1 日) [+/−] |
| オペレーティング·システム | マルチプラットフォーム |
| ライセンス | マイクロソフトパブリックライセンス |
| Webサイト | アイアンルビーネット |
IronRubyは、Microsoft の .NET Frameworkを対象としたRuby プログラミング言語インタープリターの実装です。これは DLR へのオーバーレイであり、CLR 2.0 をオーバーレイするライブラリであり、特に動的言語のメソッドの動的型付けや動的委任を提供します。

歴史
2007 年 4 月 30 日、Microsoft は MIX 2007 カンファレンスで、Wilco Bauwer のプロジェクトと同じ名前を使用する IronRuby を Wilco Bauwer の同意を得て発表しました。 OSCON 2007 で一般リリースが発表されました。
2007 年 7 月 23 日、予定通り、John Lam と DLR設計チームは OSCON で IronRubyコンパイラのプレアルファ バージョンを発表しました。同氏はまた、IronRubyをオープンソースコミュニティに迅速に統合することも発表した。
2007 年 8 月 31 日、John Lam と DLR 設計チームはコード (プレアルファ版) を RubyForge で公開しました。ソース コードはMicrosoft チームによって定期的に更新されています。チームは、少なくとも現時点では、コア DLR ライブラリに関するコミュニティからの貢献を受け付けていません。
2008 年 7 月 24 日、IronRuby チームは、OSCON 2008 で公開された最初の実行可能アルファ バージョンをリリースしました。2008 年 11 月 19 日、 2 番目のアルファ バージョンがリリースされました。
開発チームは、IronRuby による Rails のサポートに積極的に取り組みました。 Rails のいくつかの機能テストでは結果が示されていますが、実稼働環境で Rails を使用できるようになるまでには、やるべきことがまだたくさんあります。
2009 年 5 月 21 日、彼らは RailsConf 2009 でバージョン 0.5 をリリースしました。このバージョンの IronRuby は Rails アプリケーションを実行できますが、まだ運用環境では実行できません。
バージョン 1.0 の発表は OSCON 2009 で行われる予定です。バージョン 0.9 は 2009 年 8 月 1 日にリリースされました。
.NETとの相互運用性
多くの Ruby クラスは .NET クラスではないため、IronRuby クラスと通常の .NET Framework クラス間の相互運用性は、現時点ではかなり制限されています。ただし、.NET 4.0 での動的言語のサポートが強化されることで、将来的には相互運用性が向上する可能性があります。

モノによるサポート
通常、IronRuby は Mono と Microsoft の CLR の両方で動作しますが、開発チームはWindows上で動作する CLR でのみテストしたため、アーキテクチャに従う Mono ではサポートされない可能性があります。
ライセンス
IronRuby は、Open Source Initiative によって認定された Microsoft Public License に基づいて利用できます。

例
「mscorlib」が必要です
「System.Windows.Forms、バージョン = 2.0.0.0、Culture = 中立、PublicKeyToken = b77a5c561934e089」が必要です
'System.Drawing、Version=2.0.0.0、Culture=neutral、PublicKeyToken=b03f5f7f11d50a3a'が必要です
アプリケーション =システム:: Windows::Forms::アプリケーション
フォーム =システム:: Windows::Forms::Form
メッセージボックス =システム:: Windows::Forms::メッセージボックス
ボタン =システム:: Windows::Forms::ボタン
ポイント=システム::描画::ポイント
クラスMyForm <フォーム
デフォルトの初期化自分自身。 text = "Ruby からの私の .NET フォーム"
@button = ボタン。新しい
@ボタン。場所= ポイント。新しい150、150
@ボタン。 text = "クリックしてください!"
my_click_handler =プロシージャ新しい{ |送信者、e |メッセージボックス。 show 「ルビーからこんにちは!」 }
@ボタン。クリック( & my_click_handler )
自分自身。コントロール。 @ボタンを追加
終わり終わりmy_form = マイフォーム。新しい応用。 my_formを実行する
