Ruby for OpenVMS リリースノート

対応するRubyのバージョン

Ruby for OpenVMS Alpha X1.8-1X014は,Ruby 1.8.1 2003年12月25日版のソースを元にビルドされています。

付属するライブラリ

Rubyで書かれたライブラリ

Ruby 1.8.1標準添付されているライブラリのうち,Rubyで書かれたライブラリについてはすべて収録されています。ただしテストされているわけではありません。

拡張ライブラリ

Ruby 1.8.1に標準添付されている拡張ライブラリのうち,socketのみがキットに収録されています。内部でsocketを呼び出しているライブラリ(たとえば,net/http)も使用可能です。

socket以外のライブラリは将来のリリースで順次添付していく予定です。

インストールされるファイルの配置

標準のインストール位置はSYS$COMMON:[RUBY]以下です。

[RUBY] Rubyインタプリタが置かれます。
[RUBY.LIB] ライブラリが配置されます。論理名RUBY_LIBROOTがここを指しています。
[RUBY.SRC] 拡張ライブラリの作成に必要なファイルが置かれます。現在はruby.hのみが提供されています。

requireが読み込むファイルの位置

requireが読み込むファイルや起動する拡張ライブラリの位置はグローバル変数 $: に保持されています。論理名 RUBY_LIBROOTが指しているディレクトリからの相対位置として定義されています。このほか,論理名 RUBYLIB によって指定されたディレクトリを探索対象に含めることができます。

詳細は,グローバル変数 $: の値を見てください。(ruby -e "puts $:")

$ ruby -e "puts $:"
/RUBY_LIBROOT/site_ruby/018
/RUBY_LIBROOT/site_ruby/018/alpha-vms
/RUBY_LIBROOT/site_ruby
/RUBY_LIBROOT/018
/RUBY_LIBROOT/018/alpha-vms		

そのほかのファイル

RUBY_STARTUP.COM

Rubyの実行に必要な論理名を設定します。SYS$STARTUPに置かれます。システムマネージャは,システムの起動時にこのコマンドプロシージャが実行されるよう,SYS$STARTUP:SYSTARTUP_VMS.COMを書き換えておく必要があります。

論理名

Ruby for OpenVMSは次の論理名を使用します。(*印がついているものは,RUBY_STARTUP.COMで定義されるものです。)

論理名 等価名 (初期値) 備考
RUBY_ROOT SYS$COMMON:[RUBY] *
RUBY RUBY_ROOT:RUBY.EXE *
RUBYSHR RUBY_ROOT:RUBYSHR.EXE *
RUBY_LIBROOT RUBY_ROOT:[LIB] *
RUBYLIB なし requireが探索するディレクトリを設定する。UNIX形式のディレクトリ表記で書くこと。

既知の問題点と制限事項

TBD (いろいろあります)

拡張ライブラリの作成方法

TBD

ruby.hを使ってコンパイルして,RUBYSHR.EXEとリンクするような感じです。拡張ライブラリ側のエントリポイントを知らせるためのoption fileを記述する必要があります。(そのうちもっと詳しく書きます。)