ActiveScriptRubyとは

あまりに古いテクノロジーとなってしまったために知らない人もいるようなので、 RScriptについて簡単に説明します。

RScriptは、Rubyに対してIActiveScriptというCOMのインターフェイスを追加するDLLで、COMの内部プロセスサーバです。

RScriptを使うことで、ActiveScriptホスト機能を持つプログラムでRubyを組み込み言語として利用できます。

サンプルについて

サンプルとして各種インストールパッケージをインストールしたディレクトリ直下のbinディレクトリに、holeb.htaというファイルが作成されるので、実際に実行して動作をみると良いでしょう。(holeb.htaはスタートメニューにOLE Viewer (HTA)という名前で登録されます)。

holeb.htaのように、拡張子をhtaとしたHTMLをクリックすると、IEのセキュリティ制約なしに、mshta.exeというプログラムがscript要素内のプログラムを実行します(これをHTml Applicationと呼びます)。ここでRScriptが媒介するため、IActiveScriptインターフェイスを経由してMSWin32版のRubyが動作するわけです。

HTAでの利用方法

RScriptを動かすには、script要素のlanguage属性にRuby-2.2.x用であればRubyScript.2.2を、Ruby-2.1.x用であればRubyScript.2.1指定します。(バージョンを指定しなければ、最後にインストールされたものが動きます)

その他のサンプルは、 https://github.com/arton/RScript20/tree/master/samplesにあります(rd2.htaのように、動作しないものも含まれます)。

Ruby-2.2.0に対応したActiveScriptRubyは、RScript22です。Ruby-2.1.x及びRuby-2.0.x用のActiveScriptRubyは、RScript20です。


Last modified: Mon Jan 13 22:04:00 JST 2014