* Rubyとは Rubyはシンプルかつ強力なオブジェクト指向スクリプト言語です. Rubyは最初から純粋なオブジェクト指向言語として設計されていま すから,オブジェクト指向プログラミングを手軽に行う事が出来ま す.もちろん通常の手続き型のプログラミングも可能です. Rubyはテキスト処理関係の能力などに優れ,Perlと同じくらい強力 です.さらにシンプルな文法と,例外処理やイテレータなどの機構 によって,より分かりやすいプログラミングが出来ます. * Rubyの特長 + シンプルな文法 + 普通のオブジェクト指向機能(クラス,メソッドコールなど) + 特殊なオブジェクト指向機能(Mixin, 特異メソッドなど) + 演算子オーバーロード + 例外処理機能 + イテレータとクロージャ + ガーベージコレクタ + ダイナミックローディング (アーキテクチャによる) + 移植性が高い.多くのUNIX上で動くだけでなく,DOSやWindows, Mac,BeOSなどの上でも動く * 入手法 ** ftpで 以下の場所においてあります. ftp://ftp.ruby-lang.org/pub/ruby/ ** CVSで $ cvs -d :pserver:anonymous@cvs.ruby-lang.org:/src login (Logging in to anonymous@cvs.ruby-lang.org) CVS password: anonymous $ cvs -z4 -d :pserver:anonymous@cvs.ruby-lang.org:src checkout ruby * ホームページ RubyのホームページのURLは http://www.ruby-lang.org/ です. * メーリングリスト Rubyのメーリングリストがあります。参加希望の方は ruby-list-ctl@ruby-lang.org まで本文に subscribe YourFirstName YourFamilyName と書いて送って下さい。 Ruby開発者向けメーリングリストもあります。こちらではrubyのバ グ、将来の仕様拡張など実装上の問題について議論されています。 参加希望の方は ruby-dev-ctl@ruby-lang.org までruby-listと同様の方法でメールしてください。 Ruby拡張モジュールについて話し合うruby-extメーリングリストと 数学関係の話題について話し合うruby-mathメーリングリストと 英語で話し合うruby-talkメーリングリストもあります。参加方法 はどれも同じです。 * コンパイル・インストール 以下の手順で行ってください. 1. もしconfigureファイルが見つからない、もしくは configure.inより古いようなら、autoconfを実行して 新しくconfigureを生成する 2. configureを実行してMakefileなどを生成する 3. (必要ならば)defines.hを編集する 多分,必要無いと思います. 4. (必要ならば)ext/Setupに静的にリンクする拡張モジュールを 指定する ext/Setupに記述したモジュールは静的にリンクされます. ダイナミックローディングをサポートしていないアーキテク チャではSetupの1行目の「option nodynamic」という行のコ メントを外す必要があります.また,このアーキテクチャで 拡張モジュールを利用するためには,あらかじめ静的にリン クしておく必要があります. 5. makeを実行してコンパイルする 6. make testでテストを行う. 「test succeeded」と表示されれば成功です.ただしテスト に成功しても完璧だと保証されている訳ではありません. 7. make install rootで作業する必要があるかもしれません. もし,コンパイル時にエラーが発生した場合にはエラーのログとマ シン,OSの種類を含むできるだけ詳しいレポートを作者に送ってく ださると他の方のためにもなります. * 移植 UNIXであればconfigureがほとんどの差異を吸収してくれるはずで すが,思わぬ見落としがあった場合(あるに違いない),作者にその ことをレポートすれば,解決できるかも知れません. アーキテクチャにもっとも依存するのはGC部です.RubyのGCは対象 のアーキテクチャがsetjmp()によって全てのレジスタを jmp_bufに 格納することと,jmp_bufとスタックが32bitアラインメントされて いることを仮定しています.特に前者が成立しない場合の対応は非 常に困難でしょう.後者の解決は比較的簡単で,gc.cでスタックを マークしている部分にアラインメントのバイト数だけずらしてマー クするコードを追加するだけで済みます.「defined(THINK_C)」で 括られている部分を参考にしてください # 実際にはRubyはThink Cではコンパイルできません. レジスタウィンドウを持つCPUでは,レジスタウィンドウをスタッ クにフラッシュするアセンブラコードを追加する必要があるかも知 れません. * 配布条件 COPYING.jaファイルを参照してください。 * 著者 コメント,バグレポートその他は matz@netlab.jp まで. ------------------------------------------------------- created at: Thu Aug 3 11:57:36 JST 1995 Local variables: mode: indented-text end: