зеркало из https://github.com/github/ruby.git
200 строки
5.6 KiB
Plaintext
200 строки
5.6 KiB
Plaintext
* Rubyとは
|
||
|
||
Rubyはシンプルかつ強力なオブジェクト指向スクリプト言語です.
|
||
Rubyは最初から純粋なオブジェクト指向言語として設計されていま
|
||
すから,オブジェクト指向プログラミングを手軽に行う事が出来ま
|
||
す.もちろん通常の手続き型のプログラミングも可能です.
|
||
|
||
Rubyはテキスト処理関係の能力などに優れ,Perlと同じくらい強力
|
||
です.さらにシンプルな文法と,例外処理やイテレータなどの機構
|
||
によって,より分かりやすいプログラミングが出来ます.
|
||
|
||
|
||
* Rubyの特長
|
||
|
||
+ シンプルな文法
|
||
+ 普通のオブジェクト指向機能(クラス,メソッドコールなど)
|
||
+ 特殊なオブジェクト指向機能(Mixin, 特異メソッドなど)
|
||
+ 演算子オーバーロード
|
||
+ 例外処理機能
|
||
+ イテレータとクロージャ
|
||
+ ガーベージコレクタ
|
||
+ ダイナミックローディング (アーキテクチャによる)
|
||
+ 移植性が高い.多くのUNIX上で動くだけでなく,DOSやWindows,
|
||
Mac,BeOSなどの上でも動く
|
||
|
||
|
||
* 入手法
|
||
|
||
** ftpで
|
||
|
||
以下の場所においてあります.
|
||
|
||
ftp://ftp.netlab.co.jp/pub/lang/ruby/
|
||
|
||
** CVSで
|
||
|
||
$ cvs -d :pserver:anonymous@cvs.netlab.co.jp:/home/cvs login
|
||
(Logging in to anonymous@cvs.netlab.co.jp)
|
||
CVS password: guest
|
||
$ cvs -d :pserver:anonymous@cvs.netlab.co.jp:/home/cvs checkout ruby
|
||
|
||
|
||
* ホームページ
|
||
|
||
RubyのホームページのURLは
|
||
|
||
http://www.ruby-lang.org/
|
||
|
||
です.
|
||
|
||
|
||
* メーリングリスト
|
||
|
||
Rubyのメーリングリストがあります。参加希望の方は
|
||
|
||
ruby-list-ctl@netlab.co.jp
|
||
|
||
まで本文に
|
||
|
||
subscribe YourFirstName YourFamilyName
|
||
|
||
と書いて送って下さい。
|
||
|
||
Ruby開発者向けメーリングリストもあります。こちらではrubyのバ
|
||
グ、将来の仕様拡張など実装上の問題について議論されています。
|
||
参加希望の方は
|
||
|
||
ruby-dev-ctl@netlab.co.jp
|
||
|
||
までruby-listと同様の方法でメールしてください。
|
||
|
||
Ruby拡張モジュールについて話し合うruby-extメーリングリストと
|
||
英語で話し合うruby-talkメーリングリストもあります。参加方法
|
||
はどれも同じです。
|
||
|
||
|
||
* コンパイル・インストール
|
||
|
||
以下の手順で行ってください.
|
||
|
||
1. configureを実行してMakefileなどを生成する
|
||
|
||
2. (必要ならば)defines.hを編集する
|
||
|
||
多分,必要無いと思います.
|
||
|
||
3. (必要ならば)ext/Setupに静的にリンクする拡張モジュールを
|
||
指定する
|
||
|
||
ext/Setupに記述したモジュールは静的にリンクされます.
|
||
|
||
ダイナミックローディングをサポートしていないアーキテク
|
||
チャではSetupの1行目の「option nodynamic」という行のコ
|
||
メントを外す必要があります.また,このアーキテクチャで
|
||
拡張モジュールを利用するためには,あらかじめ静的にリン
|
||
クしておく必要があります.
|
||
|
||
4. makeを実行してコンパイルする
|
||
|
||
5. make testでテストを行う.
|
||
|
||
「test succeeded」と表示されれば成功です.ただしテスト
|
||
に成功しても完璧だと保証されている訳ではありません.
|
||
|
||
6. make install
|
||
|
||
rootで作業する必要があるかもしれません.
|
||
|
||
もし,コンパイル時にエラーが発生した場合にはエラーのログとマ
|
||
シン,OSの種類を含むできるだけ詳しいレポートを作者に送ってく
|
||
ださると他の方のためにもなります.
|
||
|
||
|
||
* 移植
|
||
|
||
UNIXであればconfigureがほとんどの差異を吸収してくれるはずで
|
||
すが,思わぬ見落としがあった場合(あるに違いない),作者にその
|
||
ことをレポートすれば,解決できるかも知れません.
|
||
|
||
アーキテクチャにもっとも依存するのはGC部です.RubyのGCは対象
|
||
のアーキテクチャがsetjmp()によって全てのレジスタを jmp_bufに
|
||
格納することと,jmp_bufとスタックが32bitアラインメントされて
|
||
いることを仮定しています.特に前者が成立しない場合の対応は非
|
||
常に困難でしょう.後者の解決は比較的簡単で,gc.cでスタックを
|
||
マークしている部分にアラインメントのバイト数だけずらしてマー
|
||
クするコードを追加するだけで済みます.「defined(THINK_C)」で
|
||
括られている部分を参考にしてください
|
||
|
||
# 実際にはRubyはThink Cではコンパイルできません.
|
||
|
||
レジスタウィンドウを持つCPUでは,レジスタウィンドウをスタッ
|
||
クにフラッシュするアセンブラコードを追加する必要があるかも知
|
||
れません.
|
||
|
||
|
||
* 配布条件
|
||
|
||
本プログラムはフリーソフトウェアです.GPL(the GNU General
|
||
Public License)または以下に示す条件で本プログラムを再配布で
|
||
きます.GPLについてはCOPYINGファイルを参照して下さい.
|
||
|
||
1. 複製は制限なく自由です.
|
||
|
||
2. 以下の条件のいずれかを満たす時に本プログラムのソースを
|
||
自由に変更できます.
|
||
|
||
(a) ネットニューズにポストしたり,作者に変更を送付する
|
||
などの方法で,変更を公開する.
|
||
|
||
(b) 変更した本プログラムを自分の所属する組織内部だけで
|
||
使う.
|
||
|
||
(c) 変更点を明示したうえ,ソフトウェアの名前を変更する.
|
||
そのソフトウェアを配布する時には変更前の本プログラ
|
||
ムも同時に配布する.または変更前の本プログラムのソー
|
||
スの入手法を明示する.
|
||
|
||
(d) その他の変更条件を作者と合意する.
|
||
|
||
3. 以下の条件のいずれかを満たす時に本プログラムをコンパイ
|
||
ルしたオブジェクトコードや実行形式でも配布できます.
|
||
|
||
(a) バイナリを受け取った人がソースを入手できるように,
|
||
ソースの入手法を明示する.
|
||
|
||
(b) 機械可読なソースコードを添付する.
|
||
|
||
(c) 変更を行ったバイナリは名前を変更したうえ,オリジナ
|
||
ルのソースコードの入手法を明示する.
|
||
|
||
(d) その他の配布条件を作者と合意する.
|
||
|
||
4. 他のプログラムへの引用はいかなる目的であれ自由です.た
|
||
だし,本プログラムに含まれる他の作者によるコードは,そ
|
||
れぞれの作者の意向による制限が加えられる場合があります.
|
||
|
||
具体的にはgc.c(一部),util.c(一部),st.[ch],regex.[ch]
|
||
および ./missingディレクトリ下のファイル群が該当します.
|
||
それぞれの配布条件などに付いては各ファイルを参照してく
|
||
ださい.
|
||
|
||
5. 本プログラムへの入力となるスクリプトおよび,本プログラ
|
||
ムからの出力の権利は本プログラムの作者ではなく,それぞ
|
||
れの入出力を生成した人に属します.また,本プログラムに
|
||
組み込まれるための拡張ライブラリについても同様です.
|
||
|
||
6. 本プログラムは無保証です.作者は本プログラムをサポート
|
||
する意志はありますが,プログラム自身のバグあるいは本プ
|
||
ログラムの実行などから発生するいかなる損害に対しても責
|
||
任を持ちません.
|
||
|
||
* 著者
|
||
|
||
コメント,バグレポートその他は matz@zetabis.com まで.
|
||
-------------------------------------------------------
|
||
created at: Thu Aug 3 11:57:36 JST 1995
|
||
Local variables:
|
||
mode: indented-text
|
||
end:
|