mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	* README -> README.md: [DOC] Format README with Markdown [Bug #9255]
* README.ja -> README.ja.md: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									06d2e8aaf7
								
							
						
					
					
						commit
						87855a00a8
					
				
					 5 changed files with 335 additions and 358 deletions
				
			
		| 
						 | 
				
			
			@ -1,3 +1,8 @@
 | 
			
		|||
Thu Jan 23 13:56:16 2014  Zachary Scott  <e@zzak.io>
 | 
			
		||||
 | 
			
		||||
	* README -> README.md: [DOC] Format README with Markdown [Bug #9255]
 | 
			
		||||
	* README.ja -> README.ja.md: ditto
 | 
			
		||||
 | 
			
		||||
Wed Jan 22 15:59:39 2014  Nobuyoshi Nakada  <nobu@ruby-lang.org>
 | 
			
		||||
 | 
			
		||||
	* ext/thread/thread.c (Init_thread): ConditionVariable and Queue
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										166
									
								
								README
									
										
									
									
									
								
							
							
						
						
									
										166
									
								
								README
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,166 +0,0 @@
 | 
			
		|||
= What's Ruby
 | 
			
		||||
 | 
			
		||||
Ruby is the interpreted scripting language for quick and
 | 
			
		||||
easy object-oriented programming.  It has many features to
 | 
			
		||||
process text files and to do system management tasks (as in
 | 
			
		||||
Perl).  It is simple, straight-forward, and extensible.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
== Features of Ruby
 | 
			
		||||
 | 
			
		||||
*   Simple Syntax
 | 
			
		||||
*   *Normal* Object-Oriented features(ex. class, method calls)
 | 
			
		||||
*   *Advanced* Object-Oriented features(ex. Mix-in, Singleton-method)
 | 
			
		||||
*   Operator Overloading
 | 
			
		||||
*   Exception Handling
 | 
			
		||||
*   Iterators and Closures
 | 
			
		||||
*   Garbage Collection
 | 
			
		||||
*   Dynamic Loading of Object files(on some architecture)
 | 
			
		||||
*   Highly Portable (works on many Unix-like/POSIX compatible platforms
 | 
			
		||||
    as well as Windows, Mac OS X, BeOS etc.)
 | 
			
		||||
    cf. http://bugs.ruby-lang.org/projects/ruby-trunk/wiki/SupportedPlatforms
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
== How to get Ruby
 | 
			
		||||
 | 
			
		||||
For a complete list of ways to install Ruby, including using third party
 | 
			
		||||
tools like rvm, see:
 | 
			
		||||
 | 
			
		||||
http://www.ruby-lang.org/en/downloads/
 | 
			
		||||
 | 
			
		||||
The Ruby distribution files can be found in the following FTP site:
 | 
			
		||||
 | 
			
		||||
ftp://ftp.ruby-lang.org/pub/ruby/
 | 
			
		||||
 | 
			
		||||
The trunk of the Ruby source tree can be checked out with the
 | 
			
		||||
following command:
 | 
			
		||||
 | 
			
		||||
  $ svn co http://svn.ruby-lang.org/repos/ruby/trunk/ ruby
 | 
			
		||||
 | 
			
		||||
Or if you are using git then use the following command:
 | 
			
		||||
 | 
			
		||||
  $ git clone git://github.com/ruby/ruby.git
 | 
			
		||||
 | 
			
		||||
There are some other branches under development.  Try the following
 | 
			
		||||
command and see the list of branches:
 | 
			
		||||
 | 
			
		||||
  $ svn ls http://svn.ruby-lang.org/repos/ruby/branches/
 | 
			
		||||
 | 
			
		||||
Or if you are using git then use the following command:
 | 
			
		||||
 | 
			
		||||
  $ git ls-remote git://github.com/ruby/ruby.git
 | 
			
		||||
 | 
			
		||||
== Ruby home-page
 | 
			
		||||
 | 
			
		||||
The URL of the Ruby home-page is:
 | 
			
		||||
 | 
			
		||||
http://www.ruby-lang.org/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
== Mailing list
 | 
			
		||||
 | 
			
		||||
There is a mailing list to talk about Ruby.
 | 
			
		||||
To subscribe this list, please send the following phrase
 | 
			
		||||
 | 
			
		||||
        subscribe YourFirstName YourFamilyName
 | 
			
		||||
e.g.
 | 
			
		||||
        subscribe Joseph Smith
 | 
			
		||||
 | 
			
		||||
in the mail body (not subject) to the address <mailto:ruby-talk-ctl@ruby-lang.org>.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
== How to compile and install
 | 
			
		||||
 | 
			
		||||
This is what you need to do to compile and install Ruby:
 | 
			
		||||
 | 
			
		||||
0.   If you want to use Microsoft Visual C++ to compile ruby,
 | 
			
		||||
     read win32/README.win32 instead of this document.
 | 
			
		||||
 | 
			
		||||
1.   If +./configure+ does not exist or is older than configure.in,
 | 
			
		||||
     run autoconf to (re)generate configure.
 | 
			
		||||
 | 
			
		||||
2.   Run +./configure+, which will generate config.h and Makefile.
 | 
			
		||||
 | 
			
		||||
     Some C compiler flags may be added by default depending on your
 | 
			
		||||
     environment.  Specify <tt>optflags=..</tt> and <tt>warnflags=..</tt> as
 | 
			
		||||
     necessary to override them.
 | 
			
		||||
 | 
			
		||||
3.   Edit +defines.h+ if you need. Usually this step will not be needed.
 | 
			
		||||
 | 
			
		||||
4.   Remove comment mark(<tt>#</tt>) before the module names from +ext/Setup+
 | 
			
		||||
     (or add module names if not present), if you want to link modules
 | 
			
		||||
     statically.
 | 
			
		||||
 | 
			
		||||
     If you don't want to compile non static extension modules
 | 
			
		||||
     (probably on architectures which does not allow dynamic loading),
 | 
			
		||||
     remove comment mark from the line "<tt>#option nodynamic</tt>" in
 | 
			
		||||
     +ext/Setup+.
 | 
			
		||||
 | 
			
		||||
     Usually this step will not be needed.
 | 
			
		||||
 | 
			
		||||
5.   Run +make+.
 | 
			
		||||
 | 
			
		||||
6.   Optionally, run '<tt>make check</tt>' to check whether the compiled Ruby
 | 
			
		||||
     interpreter works well. If you see the message "<tt>check succeeded</tt>",
 | 
			
		||||
     your ruby works as it should (hopefully).
 | 
			
		||||
 | 
			
		||||
7.   Run '<tt>make install</tt>'
 | 
			
		||||
 | 
			
		||||
     This command will create following directories and install files
 | 
			
		||||
     onto them.
 | 
			
		||||
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/bin</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby/site_ruby</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby/vendor_ruby</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby/gems/${MAJOR}.${MINOR}.${TEENY}</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/share/man/man1</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/share/ri/${MAJOR}.${MINOR}.${TEENY}/system</tt>
 | 
			
		||||
 | 
			
		||||
     If Ruby's API version is '_x.y.z_', the <tt>${MAJOR}</tt> is '_x_', the
 | 
			
		||||
     <tt>${MINOR}</tt> is '_y_', and the <tt>${TEENY}</tt> is '_z_'.
 | 
			
		||||
 | 
			
		||||
     *NOTE*: teeny of the API version may be different from one of
 | 
			
		||||
     Ruby's program version
 | 
			
		||||
 | 
			
		||||
     You may have to be a super user to install ruby.
 | 
			
		||||
 | 
			
		||||
If you fail to compile ruby, please send the detailed error report with
 | 
			
		||||
the error log and machine/OS type, to help others.
 | 
			
		||||
 | 
			
		||||
Some extension libraries may not get compiled because of lack of
 | 
			
		||||
necessary external libraries and/or headers, then you will need to run
 | 
			
		||||
'<tt>make distclean-ext</tt>' to remove old configuration after
 | 
			
		||||
installing them in such case.
 | 
			
		||||
 | 
			
		||||
== Copying
 | 
			
		||||
 | 
			
		||||
See the file +COPYING+.
 | 
			
		||||
 | 
			
		||||
== Feedback
 | 
			
		||||
 | 
			
		||||
Questions about the Ruby language can be asked on the Ruby-Talk mailing list
 | 
			
		||||
(http://www.ruby-lang.org/en/community/mailing-lists) or on websites like
 | 
			
		||||
(http://stackoverflow.com).
 | 
			
		||||
 | 
			
		||||
Bug reports should be filed at http://bugs.ruby-lang.org
 | 
			
		||||
 | 
			
		||||
== The Author
 | 
			
		||||
 | 
			
		||||
Ruby was originally designed and developed by Yukihiro Matsumoto (Matz) in 1995.
 | 
			
		||||
 | 
			
		||||
<mailto:matz@ruby-lang.org>
 | 
			
		||||
 | 
			
		||||
--
 | 
			
		||||
Local variables:
 | 
			
		||||
mode: rdoc
 | 
			
		||||
end:
 | 
			
		||||
							
								
								
									
										192
									
								
								README.ja
									
										
									
									
									
								
							
							
						
						
									
										192
									
								
								README.ja
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,192 +0,0 @@
 | 
			
		|||
= Rubyとは
 | 
			
		||||
 | 
			
		||||
Rubyはシンプルかつ強力なオブジェクト指向スクリプト言語です.
 | 
			
		||||
Rubyは最初から純粋なオブジェクト指向言語として設計されていま
 | 
			
		||||
すから,オブジェクト指向プログラミングを手軽に行う事が出来ま
 | 
			
		||||
す.もちろん通常の手続き型のプログラミングも可能です.
 | 
			
		||||
 | 
			
		||||
Rubyはテキスト処理関係の能力などに優れ,Perlと同じくらい強力
 | 
			
		||||
です.さらにシンプルな文法と,例外処理やイテレータなどの機構
 | 
			
		||||
によって,より分かりやすいプログラミングが出来ます.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
== Rubyの特長
 | 
			
		||||
 | 
			
		||||
*   シンプルな文法
 | 
			
		||||
*   普通のオブジェクト指向機能(クラス,メソッドコールなど)
 | 
			
		||||
*   特殊なオブジェクト指向機能(Mixin, 特異メソッドなど)
 | 
			
		||||
*   演算子オーバーロード
 | 
			
		||||
*   例外処理機能
 | 
			
		||||
*   イテレータとクロージャ
 | 
			
		||||
*   ガーベージコレクタ
 | 
			
		||||
*   ダイナミックローディング (アーキテクチャによる)
 | 
			
		||||
*   移植性が高い.多くのUnix-like/POSIX互換プラットフォーム上で
 | 
			
		||||
    動くだけでなく,Windows, Mac OS X,BeOSなどの上でも動く
 | 
			
		||||
    cf. http://bugs.ruby-lang.org/projects/ruby-trunk/wiki/SupportedPlatformsJa
 | 
			
		||||
 | 
			
		||||
== 入手法
 | 
			
		||||
 | 
			
		||||
=== FTPで
 | 
			
		||||
 | 
			
		||||
以下の場所においてあります.
 | 
			
		||||
 | 
			
		||||
ftp://ftp.ruby-lang.org/pub/ruby/
 | 
			
		||||
 | 
			
		||||
=== Subversionで
 | 
			
		||||
 | 
			
		||||
開発先端のソースコードは次のコマンドで取得できます.
 | 
			
		||||
 | 
			
		||||
  $ svn co http://svn.ruby-lang.org/repos/ruby/trunk/ ruby
 | 
			
		||||
 | 
			
		||||
他に開発中のブランチの一覧は次のコマンドで見られます.
 | 
			
		||||
 | 
			
		||||
  $ svn ls http://svn.ruby-lang.org/repos/ruby/branches/
 | 
			
		||||
 | 
			
		||||
=== Gitで
 | 
			
		||||
 | 
			
		||||
SubversionのミラーをGitHubに公開しています.
 | 
			
		||||
以下のコマンドでリポジトリを取得できます.
 | 
			
		||||
 | 
			
		||||
  $ git clone git://github.com/ruby/ruby.git
 | 
			
		||||
 | 
			
		||||
== ホームページ
 | 
			
		||||
 | 
			
		||||
RubyのホームページのURLは
 | 
			
		||||
 | 
			
		||||
http://www.ruby-lang.org/
 | 
			
		||||
 | 
			
		||||
です.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
== メーリングリスト
 | 
			
		||||
 | 
			
		||||
Rubyのメーリングリストがあります。参加希望の方は
 | 
			
		||||
 | 
			
		||||
mailto:ruby-list-ctl@ruby-lang.org
 | 
			
		||||
 | 
			
		||||
まで本文に
 | 
			
		||||
 | 
			
		||||
   subscribe YourFirstName YourFamilyName
 | 
			
		||||
 | 
			
		||||
と書いて送って下さい。
 | 
			
		||||
 | 
			
		||||
Ruby開発者向けメーリングリストもあります。こちらではrubyのバ
 | 
			
		||||
グ、将来の仕様拡張など実装上の問題について議論されています。
 | 
			
		||||
参加希望の方は
 | 
			
		||||
 | 
			
		||||
mailto:ruby-dev-ctl@ruby-lang.org
 | 
			
		||||
 | 
			
		||||
までruby-listと同様の方法でメールしてください。
 | 
			
		||||
 | 
			
		||||
Ruby拡張モジュールについて話し合うruby-extメーリングリストと
 | 
			
		||||
数学関係の話題について話し合うruby-mathメーリングリストと
 | 
			
		||||
英語で話し合うruby-talkメーリングリストもあります。参加方法
 | 
			
		||||
はどれも同じです。
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
== コンパイル・インストール
 | 
			
		||||
 | 
			
		||||
以下の手順で行ってください.
 | 
			
		||||
 | 
			
		||||
1.   もし +configure+ ファイルが見つからない、もしくは
 | 
			
		||||
     +configure.in+ より古いようなら、 +autoconf+ を実行して
 | 
			
		||||
     新しく +configure+ を生成する
 | 
			
		||||
 | 
			
		||||
2.   +configure+ を実行して +Makefile+ などを生成する
 | 
			
		||||
 | 
			
		||||
     環境によってはデフォルトのCコンパイラ用オプションが付き
 | 
			
		||||
     ます. +configure+ オプションで <tt>optflags=..</tt> <tt>warnflags=..</tt> 等
 | 
			
		||||
     で上書きできます.
 | 
			
		||||
 | 
			
		||||
3.   (必要ならば)+defines.h+ を編集する
 | 
			
		||||
 | 
			
		||||
     多分,必要無いと思います.
 | 
			
		||||
 | 
			
		||||
4.   (必要ならば)+ext/Setup+ に静的にリンクする拡張モジュールを
 | 
			
		||||
     指定する
 | 
			
		||||
 | 
			
		||||
     +ext/Setup+ に記述したモジュールは静的にリンクされます.
 | 
			
		||||
 | 
			
		||||
     ダイナミックローディングをサポートしていないアーキテク
 | 
			
		||||
     チャでは +Setup+ の1行目の「<tt>option nodynamic</tt>」という行のコ
 | 
			
		||||
     メントを外す必要があります.また,このアーキテクチャで
 | 
			
		||||
     拡張モジュールを利用するためには,あらかじめ静的にリン
 | 
			
		||||
     クしておく必要があります.
 | 
			
		||||
 | 
			
		||||
5.   +make+ を実行してコンパイルする
 | 
			
		||||
 | 
			
		||||
6.   <tt>make check</tt>でテストを行う.
 | 
			
		||||
 | 
			
		||||
     「<tt>check succeeded</tt>」と表示されれば成功です.ただしテスト
 | 
			
		||||
     に成功しても完璧だと保証されている訳ではありません.
 | 
			
		||||
 | 
			
		||||
7.   <tt>make install</tt>
 | 
			
		||||
 | 
			
		||||
     以下のディレクトリを作って,そこにファイルをインストー
 | 
			
		||||
     ルします.
 | 
			
		||||
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/bin</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby/site_ruby</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby/vendor_ruby</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/lib/ruby/gems/${MAJOR}.${MINOR}.${TEENY}</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/share/man/man1</tt>
 | 
			
		||||
     * <tt>${DESTDIR}${prefix}/share/ri/${MAJOR}.${MINOR}.${TEENY}/system</tt>
 | 
			
		||||
 | 
			
		||||
     RubyのAPIバージョンが'_x.y.z_'であれば,<tt>${MAJOR}</tt>は
 | 
			
		||||
     '_x_'で,<tt>${MINOR}</tt>は'_y_',<tt>${TEENY}</tt>は'_z_'です.
 | 
			
		||||
 | 
			
		||||
     <b>注意</b>: APIバージョンの +teeny+ は,Rubyプログラムのバージョ
 | 
			
		||||
     ンとは異なることがあります.
 | 
			
		||||
 | 
			
		||||
     +root+ で作業する必要があるかもしれません.
 | 
			
		||||
 | 
			
		||||
もし,コンパイル時にエラーが発生した場合にはエラーのログとマ
 | 
			
		||||
シン,OSの種類を含むできるだけ詳しいレポートを作者に送ってく
 | 
			
		||||
ださると他の方のためにもなります.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
== 移植
 | 
			
		||||
 | 
			
		||||
UNIXであれば +configure+ がほとんどの差異を吸収してくれるはずで
 | 
			
		||||
すが,思わぬ見落としがあった場合(あるに違いない),作者にその
 | 
			
		||||
ことをレポートすれば,解決できるかも知れません.
 | 
			
		||||
 | 
			
		||||
アーキテクチャにもっとも依存するのはGC部です.RubyのGCは対象
 | 
			
		||||
のアーキテクチャが<tt>setjmp()</tt>または<tt>getcontext()</tt>によって全てのレ
 | 
			
		||||
ジスタを +jmp_buf+ や +ucontext_t+ に格納することと, +jmp_buf+ や
 | 
			
		||||
+ucontext_t+ とスタックが32bitアラインメントされていることを仮定
 | 
			
		||||
しています.特に前者が成立しない場合の対応は非常に困難でしょう.
 | 
			
		||||
後者の解決は比較的簡単で, +gc.c+ でスタックをマークしている
 | 
			
		||||
部分にアラインメントのバイト数だけずらしてマークするコードを
 | 
			
		||||
追加するだけで済みます.<tt>defined(\_\_mc68000\_\_)</tt>で括られてい
 | 
			
		||||
る部分を参考にしてください.
 | 
			
		||||
 | 
			
		||||
レジスタウィンドウを持つCPUでは,レジスタウィンドウをスタッ
 | 
			
		||||
クにフラッシュするアセンブラコードを追加する必要があるかも知
 | 
			
		||||
れません.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
== 配布条件
 | 
			
		||||
 | 
			
		||||
+COPYING.ja+ ファイルを参照してください。
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
== 著者
 | 
			
		||||
 | 
			
		||||
コメント,バグレポートその他は mailto:matz@ruby-lang.org まで.
 | 
			
		||||
-------------------------------------------------------
 | 
			
		||||
created at: Thu Aug  3 11:57:36 JST 1995
 | 
			
		||||
--
 | 
			
		||||
Local variables:
 | 
			
		||||
mode: rdoc
 | 
			
		||||
end:
 | 
			
		||||
							
								
								
									
										164
									
								
								README.ja.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										164
									
								
								README.ja.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,164 @@
 | 
			
		|||
# Rubyとは
 | 
			
		||||
 | 
			
		||||
Rubyはシンプルかつ強力なオブジェクト指向スクリプト言語です. Rubyは最初から純粋なオブジェクト指向言語として設計されていま
 | 
			
		||||
すから,オブジェクト指向プログラミングを手軽に行う事が出来ま す.もちろん通常の手続き型のプログラミングも可能です.
 | 
			
		||||
 | 
			
		||||
Rubyはテキスト処理関係の能力などに優れ,Perlと同じくらい強力 です.さらにシンプルな文法と,例外処理やイテレータなどの機構
 | 
			
		||||
によって,より分かりやすいプログラミングが出来ます.
 | 
			
		||||
 | 
			
		||||
## Rubyの特長
 | 
			
		||||
 | 
			
		||||
*   シンプルな文法
 | 
			
		||||
*   普通のオブジェクト指向機能(クラス,メソッドコールなど)
 | 
			
		||||
*   特殊なオブジェクト指向機能(Mixin, 特異メソッドなど)
 | 
			
		||||
*   演算子オーバーロード
 | 
			
		||||
*   例外処理機能
 | 
			
		||||
*   イテレータとクロージャ
 | 
			
		||||
*   ガーベージコレクタ
 | 
			
		||||
*   ダイナミックローディング (アーキテクチャによる)
 | 
			
		||||
*   移植性が高い.多くのUnix-like/POSIX互換プラットフォーム上で 動くだけでなく,Windows, Mac OS
 | 
			
		||||
    X,BeOSなどの上でも動く cf.
 | 
			
		||||
    http://bugs.ruby-lang.org/projects/ruby-trunk/wiki/SupportedPlatformsJa
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## 入手法
 | 
			
		||||
 | 
			
		||||
### FTPで
 | 
			
		||||
 | 
			
		||||
以下の場所においてあります.
 | 
			
		||||
 | 
			
		||||
ftp://ftp.ruby-lang.org/pub/ruby/
 | 
			
		||||
 | 
			
		||||
### Subversionで
 | 
			
		||||
 | 
			
		||||
開発先端のソースコードは次のコマンドで取得できます.
 | 
			
		||||
 | 
			
		||||
    $ svn co http://svn.ruby-lang.org/repos/ruby/trunk/ ruby
 | 
			
		||||
 | 
			
		||||
他に開発中のブランチの一覧は次のコマンドで見られます.
 | 
			
		||||
 | 
			
		||||
    $ svn ls http://svn.ruby-lang.org/repos/ruby/branches/
 | 
			
		||||
 | 
			
		||||
### Gitで
 | 
			
		||||
 | 
			
		||||
SubversionのミラーをGitHubに公開しています. 以下のコマンドでリポジトリを取得できます.
 | 
			
		||||
 | 
			
		||||
    $ git clone git://github.com/ruby/ruby.git
 | 
			
		||||
 | 
			
		||||
## ホームページ
 | 
			
		||||
 | 
			
		||||
RubyのホームページのURLは
 | 
			
		||||
 | 
			
		||||
http://www.ruby-lang.org/
 | 
			
		||||
 | 
			
		||||
です.
 | 
			
		||||
 | 
			
		||||
## メーリングリスト
 | 
			
		||||
 | 
			
		||||
Rubyのメーリングリストがあります。参加希望の方は
 | 
			
		||||
 | 
			
		||||
mailto:ruby-list-ctl@ruby-lang.org
 | 
			
		||||
 | 
			
		||||
まで本文に
 | 
			
		||||
 | 
			
		||||
    subscribe YourFirstName YourFamilyName
 | 
			
		||||
 | 
			
		||||
と書いて送って下さい。
 | 
			
		||||
 | 
			
		||||
Ruby開発者向けメーリングリストもあります。こちらではrubyのバ グ、将来の仕様拡張など実装上の問題について議論されています。 参加希望の方は
 | 
			
		||||
 | 
			
		||||
mailto:ruby-dev-ctl@ruby-lang.org
 | 
			
		||||
 | 
			
		||||
までruby-listと同様の方法でメールしてください。
 | 
			
		||||
 | 
			
		||||
Ruby拡張モジュールについて話し合うruby-extメーリングリストと 数学関係の話題について話し合うruby-mathメーリングリストと
 | 
			
		||||
英語で話し合うruby-talkメーリングリストもあります。参加方法 はどれも同じです。
 | 
			
		||||
 | 
			
		||||
## コンパイル・インストール
 | 
			
		||||
 | 
			
		||||
以下の手順で行ってください.
 | 
			
		||||
 | 
			
		||||
1.  もし `configure` ファイルが見つからない、もしくは `configure.in` より古いようなら、 `autoconf` を実行して
 | 
			
		||||
    新しく `configure` を生成する
 | 
			
		||||
 | 
			
		||||
2.  `configure` を実行して `Makefile` などを生成する
 | 
			
		||||
 | 
			
		||||
    環境によってはデフォルトのCコンパイラ用オプションが付き ます. `configure` オプションで `optflags=..`
 | 
			
		||||
    `warnflags=..` 等 で上書きできます.
 | 
			
		||||
 | 
			
		||||
3.  (必要ならば)`defines.h` を編集する
 | 
			
		||||
 | 
			
		||||
    多分,必要無いと思います.
 | 
			
		||||
 | 
			
		||||
4.  (必要ならば)`ext/Setup` に静的にリンクする拡張モジュールを 指定する
 | 
			
		||||
 | 
			
		||||
    `ext/Setup` に記述したモジュールは静的にリンクされます.
 | 
			
		||||
 | 
			
		||||
    ダイナミックローディングをサポートしていないアーキテク チャでは `Setup` の1行目の「`option nodynamic`」という行のコ
 | 
			
		||||
    メントを外す必要があります.また,このアーキテクチャで 拡張モジュールを利用するためには,あらかじめ静的にリン クしておく必要があります.
 | 
			
		||||
 | 
			
		||||
5.  `make` を実行してコンパイルする
 | 
			
		||||
 | 
			
		||||
6.  `make check`でテストを行う.
 | 
			
		||||
 | 
			
		||||
    「`check succeeded`」と表示されれば成功です.ただしテスト に成功しても完璧だと保証されている訳ではありません.
 | 
			
		||||
 | 
			
		||||
7.  `make install`
 | 
			
		||||
 | 
			
		||||
    以下のディレクトリを作って,そこにファイルをインストー ルします.
 | 
			
		||||
 | 
			
		||||
    *   `${DESTDIR}${prefix}/bin`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}/${PLATFOR
 | 
			
		||||
        M}`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby/site_ruby`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}/${P
 | 
			
		||||
        LATFORM}`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby/vendor_ruby`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}/$
 | 
			
		||||
        {PLATFORM}`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby/gems/${MAJOR}.${MINOR}.${TEENY}`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/share/man/man1`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/share/ri/${MAJOR}.${MINOR}.${TEENY}/system`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    RubyのAPIバージョンが'*x.y.z*'であれば,`${MAJOR}`は
 | 
			
		||||
    '*x*'で,`${MINOR}`は'*y*',`${TEENY}`は'*z*'です.
 | 
			
		||||
 | 
			
		||||
    **注意**: APIバージョンの `teeny` は,Rubyプログラムのバージョ ンとは異なることがあります.
 | 
			
		||||
 | 
			
		||||
    `root` で作業する必要があるかもしれません.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
もし,コンパイル時にエラーが発生した場合にはエラーのログとマ シン,OSの種類を含むできるだけ詳しいレポートを作者に送ってく
 | 
			
		||||
ださると他の方のためにもなります.
 | 
			
		||||
 | 
			
		||||
## 移植
 | 
			
		||||
 | 
			
		||||
UNIXであれば `configure` がほとんどの差異を吸収してくれるはずで すが,思わぬ見落としがあった場合(あるに違いない),作者にその
 | 
			
		||||
ことをレポートすれば,解決できるかも知れません.
 | 
			
		||||
 | 
			
		||||
アーキテクチャにもっとも依存するのはGC部です.RubyのGCは対象
 | 
			
		||||
のアーキテクチャが`setjmp()`または`getcontext()`によって全てのレ ジスタを `jmp_buf` や `ucontext_t`
 | 
			
		||||
に格納することと, `jmp_buf` や `ucontext_t` とスタックが32bitアラインメントされていることを仮定
 | 
			
		||||
しています.特に前者が成立しない場合の対応は非常に困難でしょう. 後者の解決は比較的簡単で, `gc.c` でスタックをマークしている
 | 
			
		||||
部分にアラインメントのバイト数だけずらしてマークするコードを 追加するだけで済みます.`defined(_\*mc68000*\_)`で括られてい
 | 
			
		||||
る部分を参考にしてください.
 | 
			
		||||
 | 
			
		||||
レジスタウィンドウを持つCPUでは,レジスタウィンドウをスタッ クにフラッシュするアセンブラコードを追加する必要があるかも知 れません.
 | 
			
		||||
 | 
			
		||||
## 配布条件
 | 
			
		||||
 | 
			
		||||
`COPYING.ja` ファイルを参照してください。
 | 
			
		||||
 | 
			
		||||
## 著者
 | 
			
		||||
 | 
			
		||||
コメント,バグレポートその他は mailto:matz@ruby-lang.org まで.
 | 
			
		||||
---
 | 
			
		||||
created at: Thu Aug  3 11:57:36 JST 1995 -- Local variables: mode: rdoc end:
 | 
			
		||||
							
								
								
									
										166
									
								
								README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										166
									
								
								README.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,166 @@
 | 
			
		|||
# What's Ruby
 | 
			
		||||
 | 
			
		||||
Ruby is the interpreted scripting language for quick and easy object-oriented
 | 
			
		||||
programming.  It has many features to process text files and to do system
 | 
			
		||||
management tasks (as in Perl).  It is simple, straight-forward, and
 | 
			
		||||
extensible.
 | 
			
		||||
 | 
			
		||||
## Features of Ruby
 | 
			
		||||
 | 
			
		||||
*   Simple Syntax
 | 
			
		||||
*   **Normal** Object-Oriented features(ex. class, method calls)
 | 
			
		||||
*   **Advanced** Object-Oriented features(ex. Mix-in, Singleton-method)
 | 
			
		||||
*   Operator Overloading
 | 
			
		||||
*   Exception Handling
 | 
			
		||||
*   Iterators and Closures
 | 
			
		||||
*   Garbage Collection
 | 
			
		||||
*   Dynamic Loading of Object files(on some architecture)
 | 
			
		||||
*   Highly Portable (works on many Unix-like/POSIX compatible platforms as
 | 
			
		||||
    well as Windows, Mac OS X, BeOS etc.) cf.
 | 
			
		||||
    http://bugs.ruby-lang.org/projects/ruby-trunk/wiki/SupportedPlatforms
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## How to get Ruby
 | 
			
		||||
 | 
			
		||||
For a complete list of ways to install Ruby, including using third party tools
 | 
			
		||||
like rvm, see:
 | 
			
		||||
 | 
			
		||||
http://www.ruby-lang.org/en/downloads/
 | 
			
		||||
 | 
			
		||||
The Ruby distribution files can be found in the following FTP site:
 | 
			
		||||
 | 
			
		||||
ftp://ftp.ruby-lang.org/pub/ruby/
 | 
			
		||||
 | 
			
		||||
The trunk of the Ruby source tree can be checked out with the following
 | 
			
		||||
command:
 | 
			
		||||
 | 
			
		||||
    $ svn co http://svn.ruby-lang.org/repos/ruby/trunk/ ruby
 | 
			
		||||
 | 
			
		||||
Or if you are using git then use the following command:
 | 
			
		||||
 | 
			
		||||
    $ git clone git://github.com/ruby/ruby.git
 | 
			
		||||
 | 
			
		||||
There are some other branches under development.  Try the following command
 | 
			
		||||
and see the list of branches:
 | 
			
		||||
 | 
			
		||||
    $ svn ls http://svn.ruby-lang.org/repos/ruby/branches/
 | 
			
		||||
 | 
			
		||||
Or if you are using git then use the following command:
 | 
			
		||||
 | 
			
		||||
    $ git ls-remote git://github.com/ruby/ruby.git
 | 
			
		||||
 | 
			
		||||
## Ruby home-page
 | 
			
		||||
 | 
			
		||||
The URL of the Ruby home-page is:
 | 
			
		||||
 | 
			
		||||
http://www.ruby-lang.org/
 | 
			
		||||
 | 
			
		||||
## Mailing list
 | 
			
		||||
 | 
			
		||||
There is a mailing list to talk about Ruby. To subscribe this list, please
 | 
			
		||||
send the following phrase
 | 
			
		||||
 | 
			
		||||
    subscribe YourFirstName YourFamilyName
 | 
			
		||||
 | 
			
		||||
e.g.
 | 
			
		||||
    subscribe Joseph Smith
 | 
			
		||||
 | 
			
		||||
in the mail body (not subject) to the address
 | 
			
		||||
<mailto:ruby-talk-ctl@ruby-lang.org>.
 | 
			
		||||
 | 
			
		||||
## How to compile and install
 | 
			
		||||
 | 
			
		||||
This is what you need to do to compile and install Ruby:
 | 
			
		||||
 | 
			
		||||
1.  If you want to use Microsoft Visual C++ to compile ruby, read
 | 
			
		||||
    win32/README.win32 instead of this document.
 | 
			
		||||
 | 
			
		||||
2.  If `./configure` does not exist or is older than configure.in, run
 | 
			
		||||
    autoconf to (re)generate configure.
 | 
			
		||||
 | 
			
		||||
3.  Run `./configure`, which will generate config.h and Makefile.
 | 
			
		||||
 | 
			
		||||
    Some C compiler flags may be added by default depending on your
 | 
			
		||||
    environment.  Specify `optflags=..` and `warnflags=..` as necessary to
 | 
			
		||||
    override them.
 | 
			
		||||
 | 
			
		||||
4.  Edit `defines.h` if you need. Usually this step will not be needed.
 | 
			
		||||
 | 
			
		||||
5.  Remove comment mark(`#`) before the module names from `ext/Setup` (or add
 | 
			
		||||
    module names if not present), if you want to link modules statically.
 | 
			
		||||
 | 
			
		||||
    If you don't want to compile non static extension modules (probably on
 | 
			
		||||
    architectures which does not allow dynamic loading), remove comment mark
 | 
			
		||||
    from the line "`#option nodynamic`" in `ext/Setup`.
 | 
			
		||||
 | 
			
		||||
    Usually this step will not be needed.
 | 
			
		||||
 | 
			
		||||
6.  Run `make`.
 | 
			
		||||
 | 
			
		||||
7.  Optionally, run '`make check`' to check whether the compiled Ruby
 | 
			
		||||
    interpreter works well. If you see the message "`check succeeded`", your
 | 
			
		||||
    ruby works as it should (hopefully).
 | 
			
		||||
 | 
			
		||||
8.  Run '`make install`'
 | 
			
		||||
 | 
			
		||||
    This command will create following directories and install files onto
 | 
			
		||||
    them.
 | 
			
		||||
 | 
			
		||||
    *   `${DESTDIR}${prefix}/bin`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}/${PLATFOR
 | 
			
		||||
        M}`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby/site_ruby`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}/${P
 | 
			
		||||
        LATFORM}`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby/vendor_ruby`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}/$
 | 
			
		||||
        {PLATFORM}`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/lib/ruby/gems/${MAJOR}.${MINOR}.${TEENY}`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/share/man/man1`
 | 
			
		||||
    *   `${DESTDIR}${prefix}/share/ri/${MAJOR}.${MINOR}.${TEENY}/system`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    If Ruby's API version is '*x.y.z*', the `${MAJOR}` is '*x*', the
 | 
			
		||||
    `${MINOR}` is '*y*', and the `${TEENY}` is '*z*'.
 | 
			
		||||
 | 
			
		||||
    **NOTE**: teeny of the API version may be different from one of Ruby's
 | 
			
		||||
    program version
 | 
			
		||||
 | 
			
		||||
    You may have to be a super user to install ruby.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
If you fail to compile ruby, please send the detailed error report with the
 | 
			
		||||
error log and machine/OS type, to help others.
 | 
			
		||||
 | 
			
		||||
Some extension libraries may not get compiled because of lack of necessary
 | 
			
		||||
external libraries and/or headers, then you will need to run '`make
 | 
			
		||||
distclean-ext`' to remove old configuration after installing them in such
 | 
			
		||||
case.
 | 
			
		||||
 | 
			
		||||
## Copying
 | 
			
		||||
 | 
			
		||||
See the file `COPYING`.
 | 
			
		||||
 | 
			
		||||
## Feedback
 | 
			
		||||
 | 
			
		||||
Questions about the Ruby language can be asked on the Ruby-Talk mailing list
 | 
			
		||||
(http://www.ruby-lang.org/en/community/mailing-lists) or on websites like
 | 
			
		||||
(http://stackoverflow.com).
 | 
			
		||||
 | 
			
		||||
Bug reports should be filed at http://bugs.ruby-lang.org
 | 
			
		||||
 | 
			
		||||
## The Author
 | 
			
		||||
 | 
			
		||||
Ruby was originally designed and developed by Yukihiro Matsumoto (Matz) in
 | 
			
		||||
1995.
 | 
			
		||||
 | 
			
		||||
<mailto:matz@ruby-lang.org>
 | 
			
		||||
 | 
			
		||||
-- Local variables: mode: rdoc end:
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue