summaryrefslogtreecommitdiff
path: root/ruby.1
diff options
context:
space:
mode:
Diffstat (limited to 'ruby.1')
-rw-r--r--ruby.1121
1 files changed, 70 insertions, 51 deletions
diff --git a/ruby.1 b/ruby.1
index a674a3dfd9..ec6ba557e8 100644
--- a/ruby.1
+++ b/ruby.1
@@ -1,26 +1,26 @@
.\"ruby.1 - -*- Nroff -*-
-.\" $Author$
-.\" $Date$
-.\" created at: Tue Apr 12 01:45:04 GMT 1994
+.\" $Author: matz $
+.\" $Date: 1994/08/18 07:06:25 $
+.\" created at: Tue Apr 12 01:45:04 JST 1994
.TH RUBY 1 "\*(RP"
.UC
-.SH "NAME 名称"
+.SH NAME
ruby \- オブジェクト指向スクリプト言語
-.SH "SYNOPSIS 形式"
+.SH SYNOPSIS
.B ruby
[
.B options
] filename args
.SH DESCRIPTION
-.IB Ruby
+.B Ruby
は, 手軽なオブジェクト指向プログラミングを実現するための種々
-の機能を持つオブジェクト指向スクリプト言語である. その設計の
+の機能を持つオブジェクト指向スクリプト言語である.その設計の
基本原則は, 以下の通りである.
.IP 機能性
オブジェクト指向プログラミングとスクリプトプログラミングのた
めに必要な機能を十分に備える. 特にテキスト処理関係の機能を豊
-富に持つ. また, 純粋なオブジェクト指向言語でありながら, 必要
+富に持つ。また, 純粋なオブジェクト指向言語でありながら, 必要
であれば手続き型プログラミングも可能である.
.IP 拡張性
必要に応じて容易に機能を拡張できる. クラスを自由に追加できる
@@ -28,33 +28,57 @@ ruby \- オブジェクト指向スクリプト言語
る機能を追加できる. さらにプラットフォームによっては, 動的に
オブジェクトコードをリンクする機能も提供する.
.IP 一貫性
-少数の原則が全体に適用されるような一貫性のある言語仕様を持つ.
-これによって「パズルの楽しさ」は減少したかも知れない. ただし,
+少数の原則が全体に適用されるような一貫性のある言語仕様を持つ.
+これによって「パズルの楽しさ」は減少したかも知れない. ただし,
一貫性のため使いやすさを犠牲にすることはない.
.PP
-.IB Ruby
-はshやperlを知っている人にとっての常識にできる限り従ったので,
+.B Ruby
+はshやperlを知っている人にとっての常識にできる限り従ったので,
それらの言語に精通している人にとっては習得が(多分)容易だろう.
-.SH "OPTIONS オプション"
-.IB ruby
-は以下の引数を受け付ける.
+.SH OPTIONS
+.B ruby
+インタプリタは以下の引数を受け付ける.
.TP 5
.B \-a
`\-n'や`\-p'とともに用いて, オートスプリットモードをONにする.
-オートスプリットモードでは各ループの先頭で,
+オートスプリットモードでは各ループの先頭で,
.nf
.ne 2
$F = $_.split
.fi
-が実行される. `\-n'か`\-p'オプションが指定されない限り, この
-オプションは意味を持たない.
+が実行される. `\-n'か`\-p'オプションが同時に指定されない限り,
+このオプションは意味を持たない.
.TP 5
.B \-c
スクリプトの内部形式へのコンパイルのみを行い, 実行しない. コ
ンパイル終了後, 文法エラーが無ければ, "Syntax OK"と出力する.
.TP 5
+.B \-C " code"
+.B ruby
+の処理する漢字コードを指定する.
+.B ruby
+は指定した文字列が `E'または`e'から始まる場合は文字列やアク
+セスするファイルがEUCで記述されていると仮定する. 同様に`S'ま
+たは`s'の場合はSJISとして処理する. `N'は漢字を処理しない. デ
+フォルトはEUC.
+.nf
+.ne 2
+
+ ruby -C EUC -e 'print "テスト"'
+ ruby -Ceuc -e 'print "テスト"'
+ ruby -C 'Shift JIS' -e 'print "テスト"'
+ ruby -CN 'print "テスト"'
+
+.fi
+このオプションは将来文字コードの自動判別機能が追加された場合
+等には変更される.
+.TP 5
+.B \-d, \-\-debug
+デバッグモードをonにする. このフラグがセットされるとシステム
+変数$DEBUGがセットされる.
+.TP 5
.B \-e " script"
コマンドラインからスクリプトを指定する. \-eオプションを付け
た時には引数からスクリプトファイル名を取らない.
@@ -84,13 +108,9 @@ ruby \- オブジェクト指向スクリプト言語
.B \-I " directory"
ファイルをロードするパスを指定(追加)する. 指定されたディレク
トリは
-.IB ruby
+.B ruby
の配列変数$LOAD_PATHに追加される.
.TP 5
-.B \-d, \--debug
-デバッグモードをonにする. このフラグがセットされるとシステム
-変数$DEBUGがセットされる.
-.TP 5
.B \-l
`$\\'を`$/'と同じ値に設定し, print()での出力時に改行を付加す
る. また, \-nまたは\-pとともに用いられると, 入力された各行の
@@ -109,12 +129,12 @@ ruby \- オブジェクト指向スクリプト言語
で囲まれているように動作する.
.TP 5
.B \-p
-\-nフラグと同じだが, 各ループの最後に変数`$_'の値を出力する.
+`\-n'フラグと同じだが, 各ループの最後に変数`$_'の値を出力する.
.nf
例:
.ne 2
- % echo matz | ruby \-p \-e '$_.tr("a-z", "A-Z")'
+ % echo matz | ruby \-p \-e '$_\.tr("a-z", "A-Z")'
MATZ
.fi
@@ -136,28 +156,32 @@ ruby \- オブジェクト指向スクリプト言語
例:
.ne 2
- #! /usr/local/ruby -s
- # -xyzオプションが与えられると"true"を表示する.
- if $xyz then print("true\n") end
+ #! /usr/local/bin/ruby \-s
+ # \-xyzオプションが与えられると"true"を表示する.
+ if $xyz then print("true\\n") end
.fi
.TP 5
-.B \-v, \--verbose
+.B \-S
+スクリプト名が`/'で始まっていない場合, 環境変数`PATH'の値を
+使ってスクリプトを探す.
+.TP 5
+.B \-v, \-\-verbose
冗長モード. 起動時にバージョン番号の表示を行い, システム変数
$VERBOSEをセットする. この変数がセットされている時, いくつか
のメソッドは実行時に冗長なメッセージを出力する. \-v オプショ
-ンだけが指定されており, オプション以外の引数がない時にはバー
-ジョンを表示した後, 実行を終了する(標準入力からのスクリプト
-を待たない).
+ンが指定されてq, オプション以外の引数がない時にはバージョン
+を表示した後, 実行を終了する(標準入力からのスクリプトを待た
+ない).
.TP 5
-.B \--version
-.IB ruby
+.B \-\-version
+.B ruby
のバージョンを表示する.
.nf
表示例:
.ne 2
- ruby - version 0.50 (29 Jul 94)
+ ruby - version 0.51 (05 Sep 94)
.fi
.TP 5
@@ -170,39 +194,34 @@ $VERBOSEをセットする. この変数がセットされている時, いくつか
.B \-X " directory"
スクリプト実行前に指定されたディレクトリに移る.
.TP 5
-.B \-y, \--yydebug
+.B \-y, \-\-yydebug
コンパイラデバッグモード. コンパイル時の構文解析の過程を表示
する. この表示は非常に冗長なので, コンパイラそのものをデバッ
グする人以外は表示させない方が良いと思う.
-.TP 5
-.B \-N, \-E, \-S
-.IB ruby
-の処理する漢字コードを指定する. Nは漢字を処理しない. EはEUC,
-SはSJISを表す. デフォルトは漢字非対応.
-.SH "BUG バグ(あるいは欠点)"
+.SH BUGS
.PP
-遅い. 単純な処理の場合perlやawkなどの2,3倍の実行時間がかかる.
-他の言語と異なり, その提供する機能のほとんどがメソッド呼び出
-しを介することが原因だが, 他の言語でも関数呼び出しが多くなる
-ような処理ではメソッドキャッシュの分だけ
-.IB ruby
+遅い. 単純な処理の場合perlやawkなどの2,3倍の実行時間がかかる.
+これらの言語と異なり, その提供する機能のほとんどがメソッド呼
+び出しを介することが原因だが, 他の言語でも関数呼び出しが多く
+なるような処理ではメソッドキャッシュの分だけ
+.B ruby
が有利になるし, データ構造が複雑になれば, オブジェクト指向の
メリットが活かせるので, まあ許せるかも知れない.
.PP
perlより記述量が多い. これは
-.IB ruby
+.B ruby
が一貫性を追求した結果である. だが, その結果,
-.IB ruby
+.B ruby
スクリプトはperlより読みやすいはずで, 若干の記述量を犠牲に理
解しやすさと可読性を得ていると思って欲しい.
.PP
ドキュメントが不十分. 必要な情報を得るためにはソースを読んで
欲しい.
.PP
-テストが不十分. バグにつき当たったら, できれば自分で直して,
+テストが不十分. バグにつき当たったら, できれば自分で直して,
こっそり私に教えて欲しい. 無理ならば, せめてバグが再現する条
件を明確にしてレポートして欲しい.
-.SH "AUTHOR 作者"
+.SH AUTHOR
松本 行弘 (matz@caelum.co.jp)