summaryrefslogtreecommitdiff
path: root/ruby.texi
diff options
context:
space:
mode:
authorYukihiro Matsumoto <matz@ruby-lang.org>1995-12-21 00:56:57 +0900
committerTakashi Kokubun <takashikkbn@gmail.com>2019-08-17 22:09:32 +0900
commitfca49a8a69a0f6bb4feae74c6cd0e93d7fac8b36 (patch)
tree590a6d2ffcfa31212c1595e34a01d9cda56ba308 /ruby.texi
parent8bf1c909dc31fd4bcdc1488cda9fe89a62bc2830 (diff)
version 0.95v0_95
https://cache.ruby-lang.org/pub/ruby/1.0/ruby-0.95.tar.gz Thu Dec 21 00:56:57 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * version 0.95 - fj.sourcesに * eval.c (rb_eval): rescueのロジックをrb_rescue()に一元化. Wed Dec 20 19:30:58 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * Makefile.in: 不要なコンパイルの回避(より完全に). * class.c (singleton_class_new): `single'->`singleton' Tue Dec 19 07:14:33 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * io.c (closed?): IOがcloseされているかどうかを知る述語. * parse.y (primary): 特異メソッドの引数のlex_stateが不適切. * lib/tk.rb: tcl->rubyの変換関数の用意. * ext/extmk.rb.in (install): installの2重コンパイルの回避. * array.c (range_beg_len): range指定の不適切なエラーを訂正. * string.c (str_aref): range指定のバグを削除. * lib/tk.rb (tk_split_list): Tclのリストに対応. Mon Dec 18 09:58:12 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * version 0.94 * dln.c (dln_load): HP対応(未確認) * eval.c (Init_Proc): BlockをProcに改名. Sat Dec 16 13:46:14 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * eval.c (rb_eval): retryでイテレータの再実行ができるように. Fri Dec 15 17:14:30 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * eval.c: proc:lambdaの親しみやすい別名 Thu Dec 14 17:21:55 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * eval.c (dyna_var_asgn): イテレータブロック内で最初に初期化された ローカル変数の有効範囲をそのブロック内に限定.これでlambdaと呼べ ないことはない. Wed Dec 13 02:30:58 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * gc.c: autoloadのマークミス. * lib/tk.rb: wishからの複数行の戻り値に対応 * lib/tkcomposite.rb: 複合widget * variable.c (rb_class2path): ICLASSに対応してなかった. * eval.c (ruby_run): exit(0)のバグ Sat Dec 9 01:21:24 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * ext/marshal/marshal.c (dumps|load): 文字列に対する入出力を可能に した(ただし実はファイル経由なのだ). Fri Dec 8 18:29:11 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * ext/marshal/marshal.c: シンボルを一度だけ初期化する. Thu Dec 7 07:58:50 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * parse.y (yylex): 第1引数の正規表現の認識にエラーがあった.同時に 状態数を減らした. * string.c (str_sub): 置換でスキップ幅が大きすぎた. Wed Dec 6 15:14:23 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * string.c (str_sub_method): sub/gsub(!なし)は置換が行なわれなかっ た時,置換前の文字列を返す. Tue Dec 5 00:55:15 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * parse.y (yylex): 括弧を省略した時の引数展開の`*'に対応. * eval.c (ruby_run): EXITハンドラ内での例外に対応. * bignum.c (big_cmp): BignumとFixnumの比較で落ちる. Mon Dec 4 14:21:18 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * parse.y (call_op): コンパイル時の定数式の展開をやめた.労多くし て益少ないと判断したので. Thu Nov 30 01:35:15 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * lib/tk.rb: {Radio,Check}Buttonのvariableの実装. * eval.c (rb_yield_0): Block.callがネストした時のバグ. * io.c (f_select): 常に配列3つをふくむ配列を返すように * lib/tk.rb: fileeventをruby側で実装. Wed Nov 29 17:53:23 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * variable.c (rb_ivar_get): selfを常に指定するように. Tue Nov 14 00:07:29 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * lib/tk.rb: Tk4.0対応 Mon Nov 13 16:23:32 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * version 0.93 Thu Nov 9 23:26:01 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * gc.c (gc_mark): モジュールのMixinのマーク忘れ. * parse.y (f_arglist): メソッド定義の引数を括弧で括らなくても良い ようにした. Wed Nov 8 00:17:51 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * eval.c (rb_yield_0): 未初期化のローカル変数があった. * eval.c (rb_eval): pendig signalのチェックをeval実行後に行うよう にした.でないとシグナルの発生と検出が遠く離れてしまう事がある. * parse.y: class文のsuperclass部を定数から式に拡張した. * lib/tk.rb: Tkのほぼ全ウィンドウクラスに対応.キャンバスとテキス ト上のオブジェクトが残っている. Tue Nov 7 08:18:37 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * signal.c (trap): ブロックを指定できるように. Mon Nov 6 16:44:00 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * eval.c (f_caller): 呼出元の情報を得る. * ext/tkutil/tkutil.c: wishのstderr出力を監視することで,エラー処 理を行う. * ext/tkutil/tkutil.c: wishとの通信部をCで記述. Sat Nov 4 01:12:59 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * sample/ruby-mode.el (ruby-calculate-indent): インデントの計算を もう少しスマートにした(正規表現のチェック,継続行のチェック). * eval.c (rb_call): 無限再帰を避けるため,関数のネストレベルの制限 を行なう. * lib/tk.rb: Tkインターフェース.まだ不完全だが. * eval.c (rb_yield_0): 空のBlockのバグ. * sample/ruby-mode.el (ruby-calculate-indent): 行末の演算子による 行継続に対応. Fri Nov 3 12:56:21 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * eval.c (rb_call): 本体が空の関数の実行にバグ. * parse.y (var_extend): 文字列の末尾の変数展開のバグ. * variable.c (rb_gvar_set): traceの評価時にに変数値を与えるように. * eval.c (f_require): ruby scriptのrequireにbug. * variable.c (rb_const_get): モジュールのinclude対策. Thu Oct 19 13:56:06 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * dln.c (dln_load): HP対応でのtypo. Wed Oct 18 17:39:39 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * version 0.92 * object.c (krn_type): オブジェクトの動的な型を返すメソッド. Tue Oct 17 00:48:18 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * ruby.c (proc_options): -X オプション.chdirだけを行う. * re.c (reg_search): 漢字コードを途中で変更できるように.コンパイ ル時のコードが変更された時にはマッチの直前に正規表現の再コンパイ ルを行う.定数KCODEから変数$KCODEへ. * parse.y: ()のなかにcompexprを許す. * re.c (reg_search): メモリリークを直した. Fri Oct 13 13:19:19 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * string.c (str_sub): 文字列置換にバグ. * string.c (str_strip_bang): 文字列の後ろの長さの調整が行われてい なかった. * re.c (reg_search): $&, $1...のはローカルに束縛するようになった. 呼び出したメソッドでのマッチは現スコープの$&などの値に影響しない. マッチの情報をスコープ外で得たいときには$~を使って束縛情報を持ち 出す必要がある. Thu Oct 12 00:33:33 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * re.c (reg_search): String:split, String:indexでは$&, $1...が変化 しないようにした. * io.c (rb_str_setter): setterの仕様が変更になっていた. * variable.c (f_trace_var): 第2引数を省略してイテレータとして呼べ るように. Wed Oct 11 11:50:59 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * version 0.91 * variable.c (var_setter): 引数が間違っていた.致命的バグ. * io.c (pipe_open): $stderrの値が変更されている時にはそちらを 子プロセスのstderrに設定する. Mon Oct 9 13:06:33 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * object.c (mod_to_s): モジュール内のモジュールは`::'を使った表現 で表示されるように. * variable.c (rb_gvar_set): 代入によるループが発生しないように, trace内での代入ではtraceを評価しない. * struct.c (struct_equal): structのequal判定にクラスの一致を含めた. Sat Oct 7 00:18:32 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * eval.c (rb_eval): defined?の機能を拡張(yieldのチェック,superの 存在など). Fri Oct 6 12:06:47 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * version 0.90 * st.c (st_foreach): 要素を削除した時に要素数が変化していなかった. * hash.c (hash_values): バグ修正.keysを返していた…. * parse.y (call_op): defined? の引数では定数の畳み込みを行わない (チェックする前にコンパイルエラーになっては困る). * スコープ生成の一部見直し. Thu Oct 5 00:29:43 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * 関数とクラスの命名規則を変更した.関数名,変数名の全面書き換え. * gc.c (looks_pointerp): ヒープチェックの高速化. * struct.c (Fstruct_aset): 構造体に対する`[]='. (struct_set): 構造体メンバに対する代入. Wed Oct 4 09:54:07 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * version 0.89 * eval.c (Frequire): ダイナミックロードのエラーチェックを厳しく. * struct.c: structの構造を完全に書き換えた.以前は順序付きの id->valueの連想配列であったが,今度は構造体毎に新しいクラスを生 成するようにした. * parse.y: `::'の意味をAssocの生成からクラス(モジュール)内の定数ア クセスへ変更. * assoc.c: なくす. Tue Oct 3 13:31:08 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * variable.c (Ftrace_var): trace_var, 大域変数への書き込みhookを設 定する. * variable.c: global_entryの構成を書き換えた.これでtrace_varを実 装できる. * file.c (Ffile_stat): "&"で直前のfstatの結果も参照できるように. Fri Sep 29 14:15:13 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * version 0.88 * dln.c (dln_load): AIXとHPに対応したコードを入れた(動作は未確認). * ext/extmk.rb.in: 必要に応じて,定数EXTLIBを定義するように. * dln.c (dln_load): dln独立に書き換える.将来の拡張用. (load_1): dln_a_outにおいてソースコードでライブラリを明示的にロー ドする必要がないように変更した. Thu Sep 28 13:31:37 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * sample/ruby-mode.el: もっとましなhilit19対応(正規表現). Wed Sep 27 04:12:44 1995 Takahasi Mamoru <taka@soum.co.jp> * sample/test.rb: echoで-nを使わないように(SysV対策). * ext/extmk.rb.in: sub -> sub! Tue Sep 26 19:12:42 1995 Yasuo OHBA <jammy@csg.mes.co.jp> * dln.c (dln_find_1): `.', `..'から始まるパスに対応した. Mon Sep 25 12:33:03 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * version 0.87 Sat Sep 23 10:00:18 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * eval.c (Fmod_modfunc): メソッドをprivateにし,同時に特異メソッド も定義するメソッド.パッケージ的使い方のモジュール用. Fri Sep 22 11:02:44 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * lib/find.rb: findを提供するライブラリ * variable.c (rb_define_variable): hookの設定を分離. (add_hook): 1変数に対して複数のhookを設定できるように. Thu Sep 21 00:22:11 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * string.c (Fstr_frozen): 文字列が更新不可かどうかをチェックする述 語メソッド. * hash.c (Fhash_aset): keyが文字列の時,キーの内容が変化しないよう に,dupしてfreezeする. Wed Sep 20 16:12:44 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * version 0.86 * ext/extmk.rb.in (have_header): キャッシュにバグ. * ext/extmk.rb.in (have_library): 引数の順序が変わった. Thu Sep 14 18:00:59 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * object.c (obj_is_instance_of): is_member_ofから名称変更. Wed Sep 13 15:44:35 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * string.c (Fstr_tr_bang): 範囲外の文字に対する変換バグ. Tue Sep 12 14:27:58 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * file.c (Sfile_expand_path): expand_file_name -> expand_pathに名 称変更. * enum.c (Fenum_member): includes? -> member? に名称変更. * string.c (Fstr_each_byte): StringはByteArrayであるという基本に戻っ て,eachの定義をeach_byteに変更した.今までのeachはeach_lineでア クセスできる. Mon Sep 11 18:31:17 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * file.c (cache_stat): ファイル名として"&"を指定すると直前の stat(2)の結果を再利用するように. Fri Sep 8 14:18:51 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * ruby.texi: `!', `?'に対応してアップデート. * parse.y: defined -> defined? * file.c: FileOpの一文字メソッドをなくす.一文字テストはtestメソッ ドにまかせる. * parse.y (yylex): 変数名の後ろに`?'も許す.述語メソッドの後ろに `?'を追加する. Thu Sep 7 20:01:33 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * string.c: 文字列の中身を更新するメソッドの名前の終りに`!'を付加. `!'の無いバージョンも用意した. * parse.y: 変数名の後ろに`!'を許す. Wed Sep 6 14:12:19 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * version 0.85 * string.c (Fstr_dup): 文字列の複製を作る (Fstr_freeze): 文字列の更新不可属性を設定できるように. (Fsub/Fgsub): $_の内容をdupしてから置換を行うように. * ruby.h (CLONESETUP): flagsの状態もコピー Tue Sep 5 01:27:50 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * sample/test.rb: 失敗の検出を厳しく. Fri Aug 25 14:31:02 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * process.c (Ffork): イテレータとしても動作するように. * version 0.84 * signal.c (sig_beg): ハンドラが設定されている時には再設定しない. * ext/extmk.rb.in (create_makefile): shared objectのリンクの際に `-l'オプションを指定するように. * signal.c (trap): `EXIT'で終了処理を行う設定が出来る. Wed Aug 16 00:13:22 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * signal.c (sig_beg): デフォルトではbegin節の中でだけSIGINTを捕捉 するように変更. * io.c (io_ctl): fcntlを持たないシステムにも対応. * 各ディレクトリに分散していたMANIFESTをまとめた.拡張モジュール毎 には必要. * string.c (Sstr_new,str_sub,Fstr_crypt): 引数を自動的に文字列に変 換するように. Sat Aug 12 00:44:02 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * string.c (Fstr_crypt): PD cryptを用意した. Fri Aug 11 14:37:03 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * assoc.c (Fassoc_clone): assocもcloneできるように. * io.c: マクロREAD_DATA_PENDINGの定義を変更(Linux対応) * io.c (io_fptr_finalize): ftprの開放時の処理を指定できるように. Wed Aug 9 16:52:41 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * eval.c (rb_provided): 複数のfeatureをロードすると無限ループに落 ちるという単純な(しかし凶悪な)ミス. * ext/extmk.rb.in (install): dlopen対応を行った.今までdlnにしか十 分に対応していなかった. Tue Aug 8 14:17:06 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * version 0.83 Mon Aug 7 12:47:41 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * parse.y: resque -> rescue.恥ずかしいがtypoを残しておくわけには いかないよなあ.なんで今まで気がつかなかったのか…. Thu Aug 3 18:18:05 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * missing/nt.c: NT移植用の関数群をまとめた. * variable.c (rb_const_get): また例外を発生するようにした.defined がある以上例外を発生させない理由がないので(例外が発生した方がタ イプミスの検出などの点で有利). * variable.c (Fautoload): autoloadを実装.今度は使えるか. Mon Jul 31 15:44:21 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * parse.y (arg_ambiguous): 第1引数のあいまいさを警告(-vオプション で有効). * eval.c (rb_eval): `-v'オプションをつけて`def'が呼ばれると不必要 なエラーメッセージが出た. * parse.y (yylex): メソッドの第1引数の判定をもうちょっと賢くした. Fri Jul 28 19:04:43 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * parse.y (yylex): `+/-/['の直前に空白が来るかどうかで動作を変更し た(混乱のもとか?) Wed Jul 26 09:21:23 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * version 0.82a * sprintf.c (Fsprintf): `%s'で'\0'を含む文字列に対応. * pack.c (Fpck_pack): packの要素確保のバグ. * eval.c (Floop): 無限ループのイテレータ. * io.c (next_argv): 存在しないファイル名が指定された時のエラー処理 が行われていなかった. Mon Jul 24 17:37:34 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * version 0.82 * ext/extmk.rb.in (install): 拡張モジュールをstatic linkする場合は そのモジュールが既にrequireされたのと同じようにfeatureを設定する. これで拡張モジュールの機能が必要な時には(static linkされているか どうかにかかわらず)requireすればよくなる. * eval.c (Frequire): `$"'に格納する文字列をフルパスでなくフィーチャ 名とする.rubyスクリプトをロードした時には`.rb',オブジェクトを ロードした時には`.o'をフィーチャ名に付加する.lispのrequireと provideの働きに(少し)近い. Thu Jul 20 12:50:05 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * Makefile.in (test): make testができるように. * struct.c (struct_new): typo. * eval.c (rb_eval): `defined'を追加.メソッド/変数/定数の定義状態 を知る事が出来る. Wed Jul 19 18:04:01 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * version 0.81 Mon Jul 17 14:53:51 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * variable.c (rb_const_get): 未初期化のCONSTANTの値をnilにした.し かし,今後また例外に戻す可能性はある.要はoptionalなクラス/モジュー ルが存在するかチェックしたいだけなんだな. * st.c (int): grow_factorを固定にした(大嶋さんのマシンに対応). Fri Jul 14 00:48:40 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * ext/extmk.rb.in: キャッシュのバグを修正. * parse.y (var_extend): #{$数字}に対応した. * dln.c (dln_load_1): `Init_FILENAME'だけを有効に.`init_*'は今後 実行しない. * ext/etc/etc.c : Etcモジュールを拡張モジュールとして分離.実はNT 対応への布石だったりするかもしれない. Tue Jul 11 17:12:48 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * gcc -Wallで出たwarningを元にソースを変更. * signal.c (trap): typo. Fri Jul 7 10:08:51 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * version 0.80 * ruby.texi: texinfo documentを提供.specとruby.1は無くなった. * signal.c (Ftrap): 割込み禁止中の例外発生に対応. * eval.c (Flambda): Blockオブジェクトを返す.Block.newと同義. Thu Jul 6 00:35:03 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * signal.c (Ftrap): SIG_DFLの処理を変更.SIGINTへのデフォルトハン ドラを用意(例外を発生する). * file.c (Sfile_expand_fname): パス名を絶対パスに展開するメソッド. (Sfile_basename): basenameを得るメソッド.拡張子も外せる. (Sfile_dirname): basenameの反対. * eval.c (rb_call): argument評価中の例外発生に対応. * file.c (Ftest): `M', `A', `C'を追加. Tue Jul 4 12:36:33 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * file.c (Ftest): ファイルテスト用メソッド. * ruby.c (proc_options): `-r'オプションを追加. * parse.y (f_args): デフォルト引数を追加. * eval.c (rb_call): 該当する引数が無い時,rest引数の値をnilに. * numeric.c (num_equal): 数値以外との比較で例外が発生していた. FALSEを返すように. * eval.c (masign): 多重代入のrest部の動作がおかしかった. Sat Jun 17 01:03:16 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * parse.y (gettable): 未初期化のローカル変数の参照(独立した識別子) は正式にメソッド呼び出しとした. * parse.y (read_escape): tokenbufを使わないように修正.それにとも ない,`\C-x',`\M-x'などのエスケープ表現を復活.これでドキュメン トと実際の処理系が一致した. Thu Jun 15 15:42:00 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * re.c (re_regcomp): cacheのチェックを改善. Mon Jun 12 18:50:51 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * version 0.79 Sat Jun 10 00:25:01 1995 Yukihiro Matsumoto <matz@caelum.co.jp> * re.c (re_regcomp): cache判定に`$='の値も反映させた. * sample/test.rb: test suite作成. Fri Jun 9 15:58:34 1995 Yukihiro Matsumoto <matz@ix-02> * re.c (re_regcomp): cacheの判定が間違っていた. Fri Jun 9 00:01:35 1995 Yukihiro Matsumoto (matz@dyna) * eval.c (rb_yield): block構造体に初期化していないメンバ(iter)があっ たのでイテレータのネストが正しく動作しなかった. Thu Jun 8 00:59:03 1995 Yukihiro Matsumoto (matz@dyna) * re.c (=~): String以外との比較がFALSEを返すように(例外を発生して いた). * extmk.rb.in: 判定した値をファイルにキャッシュするようにした. * assoc.c (to_a): to_aメソッドが再定義されていなかった. * eval.c (rb_eval): 初期化されていないローカル変数へのアクセスを引 数の無いメソッド呼び出しと解釈する.ただし,(現状では)メソッドが 定義されていない場合,エラーにせず変数未初期化のwaringを出して nilを返している.「ruby -pe print」などが実行できるという意味で はありがたいこの仕様は,しかし今後の検討が必要である.-- メソッ ド呼び出しとするのを止めるか(以前の仕様),いつもメソッド呼び出し とする(未定義ならばエラー)か,今の仕様で行くか. * eval.c (rb_eval): 初期化されていないローカル変数へのアクセスで (evalなどで)初期化された事が分かった時には以後初期化されたローカ ル変数とみなす. Wed Jun 7 11:58:12 1995 Yukihiro Matsumoto <matz@ix-02> * eval.c (rb_fail): 例外処理後も`$!'をクリアしないように. (rb_fail): `$!'変数に最後に改行を追加しない. * io.c (Fprint): privateメソッドに変更.引数を取らない時の動作を変 更(`$_'を出力する). (Fio_print): 出力先指定のprintメソッド. (Fio_printf): 出力先指定のprintfメソッド. * parse.y: not演算子の追加.優先順位の低い`!'演算子. Mon Jun 5 19:00:55 1995 Yukihiro Matsumoto <matz@ix-02> * version 0.78 Fri Jun 2 17:52:03 1995 Yukihiro Matsumoto <matz@ix-02> * ruby.c (proc_options): -Iオプションで`$:'への追加される順番を修 正した. Fri Jun 2 00:36:34 1995 Yukihiro Matsumoto (matz@dyna) * parse.y: while修飾子の動作を通常のwhileと同じにした.ただし, begin式へのwhile修飾子だけはdo..while型のループとなる. Wed May 31 18:36:30 1995 Yukihiro Matsumoto <matz@ix-02> * version 0.77 Mon May 29 18:39:37 1995 Yukihiro Matsumoto <matz@ix-02> * ext/extmk.rb.in (install): 拡張モジュールもインストールできるよ うに. Fri May 26 14:43:01 1995 Yukihiro Matsumoto <matz@ix-02> * process.c (Fsystem): 戻り値をサブプロセスの失敗/成功を表す真偽値 にした.終了ステータスは`$?'で得る. Tue May 23 10:58:11 1995 Yukihiro Matsumoto <matz@ix-02> * string.c (Fstr_upto): 無限ループに陥らないように. * parse.y (cond): `||'などの右辺に制御式が書けるように,条件式がか ならずしも値を持たなくても良いようにした. * ext/marshal/marshal.c: オブジェクトの読み書きをメソッドの再定義 でコントロールできるように.インスタンスが`_dump_to'というメソッ ドを定義している時はそちらを使うように. * ext/extmk.rb.in: static linkも設定できるような仕様にした. ext/Setupというファイルにディレクトリ名を記述するとそのディレク トリに存在するモジュールはstatic linkされる(はず). * eval.c (rb_eval): `..'を文法に組み込み,`..'と`...'の動作をperl に合わせた. Sat May 20 01:22:48 1995 Yukihiro Matsumoto (matz@dyna) * io.c (select): timeout時と割込み時の動作の明確化. Co-authored-by: Takahasi Mamoru <taka@soum.co.jp> Co-authored-by: Yasuo OHBA <jammy@csg.mes.co.jp>
Diffstat (limited to 'ruby.texi')
-rw-r--r--ruby.texi5044
1 files changed, 5044 insertions, 0 deletions
diff --git a/ruby.texi b/ruby.texi
new file mode 100644
index 0000000000..50ffb63a16
--- /dev/null
+++ b/ruby.texi
@@ -0,0 +1,5044 @@
+\input texinfo @c -*-texinfo-*- created at: Tue Jun 20 16:58:39 JST 1995
+@setfilename ruby.info
+@settitle Ruby Reference Manual
+
+@titlepage
+@title Ruby Reference Manual
+@subtitle The Object-Oriented Scripting Language
+@author Yukihiro Matsumoto
+@author matz@@caelum.co.jp
+@end titlepage
+
+@node Top, Ϥ, (dir), (dir)
+
+Ruby Reference Manual
+
+@menu
+* Ϥ::
+* ޥɥ饤󥪥ץ::
+* rubyʸˡ::
+* Ȥ߹ߴؿ::
+* Ȥ߹ѿ::
+* Ȥ߹ߥ饹ȥ⥸塼::
+* CȤΥ󥿥ե::
+* ռ::
+* ʸˡ::
+* Variables Index::
+* Concept Index::
+* Function Index::
+@end menu
+
+@node Ϥ, ޥɥ饤󥪥ץ, Top, Top
+@comment node-name, next, previous, up
+@chapter Ϥ
+
+Ruby, ڤʥ֥Ȼظץߥ󥰤¸뤿μεǽ
+ĥ֥ȻظץȸǤ롥ܳŪʥ֥Ȼظ
+ǤSmalltalk, EiffelC++ʤɤǤ礲˻פ褦ΰǤΥ
+֥Ȼظץߥ󥰤ٱ礹뤳ȤŪȤ롥߷פδ
+§, ʲ̤Ǥ.
+
+@itemize @bullet
+@item
+
+
+ñ㳰ξʤʸˡǡ֥Ȼظץߥ󥰤ȥץȥ
+ߥ󥰤Τɬפʵǽʬ.
+
+@item
+
+
+ɬפ˱ưפ˵ǽĥǤ롥饹ͳɲäǤ뤳Ȥ,
+CץΥ󥯤ˤäƥ󥿥ץ꥿ˤ뵡ǽɲäǤ롥
+˥ץåȥեˤäƤ, ưŪ˥֥ȥɤ󥯤뵡
+ǽ󶡤.
+
+@item
+
+
+
+θ§ΤŬѤ褦ʰΤͤġ
+äơ֥ѥγڤפϸΤʤ,Τ
+䤹ˤ뤳ȤϤʤ.
+@end itemize
+
+RubyϡּڡפǤϤ뤬ܳŪʥ֥ȻظǽĤΤǡperl,
+tcl, pythonʤɥץȸ˥֥Ȼظǽɲä褦ʽ
+Ϥ⼫˥֥ȻظǤ롥˥١쥯㳰
+ǽϤŬʥץߥ󥰤ٱ礹롥
+
+RubyϥƥȽطεǽ˭٤(perlƱ餤)OSľ
+褦ʽ⵭ҤǤ롥ޤ, ʥ֥ȻظǤ
+, ɬפǤм³ץߥ󥰤ǽǤ.
+
+RubyshperlΤäƤͤˤȤäƤξQˤǤ¤꽾äΤ,
+θ̤ƤͤˤȤäƤϽ(¿ʬ)ưפץޤ
+RubyΥ֥ȻظǽˤĤƳؤ٤С궯ϤʤȤǤ褦
+
+@node ޥɥ饤󥪥ץ, rubyʸˡ, Ϥ, Top
+@comment node-name, next, previous, up
+@chapter ޥɥ饤󥪥ץ
+
+ruby󥿥ץ꥿ϰʲΰդ.
+
+@table @samp
+
+@item -0
+
+ϥ쥳ɥѥ졼(@code{$/})8ʿǻꤹ롥
+
+ꤷʤϥ̥륭饯ѥ졼ˤʤ롣θ¾Υ
+åäƤ褤
+
+-00, ѥ饰ե⡼, -0777(Υɤʸ¸ߤʤΤ)
+ե٤ɤ߹⡼ɤǤ.
+
+@item -a
+@cindex{ȥץåȥ⡼}
+
+@code{-n}@code{-p}ȤȤѤ, ȥץåȥ⡼ɤONˤ롥
+ȥץåȥ⡼ɤǤϳƥ롼פƬ,
+
+@example
+$F = $_.split
+@end example
+
+¹Ԥ롥@code{-n}@code{-p}ץƱ˻ꤵʤ¤,
+Υץϰ̣ʤ.
+
+@item -c
+
+ץȤؤΥѥΤߤԤ, ¹Ԥʤѥ뽪
+λ, ʸˡ顼̵, @samp{"Syntax OK"}ȽϤ.
+
+@item -K c
+
+rubyνɤꤹ롥 rubyϻꤵ줿ʸ @code{E}
+@code{e}ξʸ䥢եƤΥɤEUC
+Ȳꤹ롥Ʊͤ@code{S}ޤ@code{s}ξSJISȤƽ롥
+@code{N}ϴʤǥեȤEUC.
+
+@example
+ruby -CE -e 'print "ƥ"'
+ruby -Cs -e 'print "ƥ"'
+ruby -Cn -e 'print "ƥ"'
+@end example
+
+ΥץϾʸɤμưȽ̵ǽɲä줿ˤѹ
+.
+
+@item -d
+@itemx --debug
+
+ǥХå⡼ɤonˤ롥Υե饰åȤȥƥѿ
+@code{$DEBUG}åȤ.
+
+@item -e @var{script}
+
+ޥɥ饤󤫤饹ץȤꤹ롥-eץդˤϰ
+饹ץȥե̾ʤ.
+
+@item -F @var{ʸ}
+
+ϥեɥѥ졼(@code{$;})ͤʸ˥åȤ롥awkƱ̾
+ΥץƱƯ򤹤.
+
+@item -i @var{extension}
+
+ǻꤵ줿եƤ֤(in-place edit)Ȥꤹ
+롥ΥեϳĥҤĤ¸.
+
+:
+
+@example
+% echo matz > /tmp/junk
+% cat /tmp/junk
+matz
+% ruby -p -i.bak -e '$_.upcase' /tmp/junk
+% cat /tmp/junk
+MATZ
+% cat /tmp/junk.bak
+matz
+@end example
+
+ĥҤʤСХååפϤ줺ѹ줿եĤ롥
+
+@item -I @var{directory}
+
+եɤѥ(ɲ)롥ꤵ줿ǥ쥯ȥruby
+ѿ@code{$:}ɲä.
+
+@item -l
+
+@code{$\}@code{$/}Ʊͤꤷ, @code{print}Ǥνϻ˲Ԥ
+ä롥ޤ, @samp{-n}ޤ@samp{-p}ȤȤѤ, Ϥ줿
+ƹԤκǸʸ@code{chop!}.
+
+@item -n
+
+Υե饰åȤȥץΤ
+
+@example
+while gets
+ @dots{}
+end
+@end example
+
+ǰϤޤƤ褦ư.
+@item -p
+
+@code{-n}ե饰Ʊ, ƥ롼פκǸѿ@code{$_}ͤϤ.
+
+:
+
+@example
+% echo matz | ruby -p -e '$_.tr! "a-z", "A-Z"'
+MATZ
+@end example
+
+@item -r ե̾
+
+ץȼ¹˥ե̾ǻꤵե@code{require}롥
+@samp{-n}ץ@samp{-p}ץȤȤ˻ȤäͭǤ롥
+
+@xref{Ȥ߹ߴؿ}
+
+@item -s
+
+ץ̾³, @code{-}ǻϤޤᤷ, Ʊ̾ѿ
+ꤹ롥@code{--}ʤʹߤϲԤʤʤ
+@code{$ARGV}.
+
+:
+@example
+#! /usr/local/bin/ruby -s
+# -xyzץͿ"true"ɽ.
+print "true\n" if $xyz
+@end example
+
+@item -S
+
+ץ̾@code{/}ǻϤޤäƤʤ, Ķѿ@code{PATH}ͤ
+ȤäƥץȤõ ϡ@samp{#!} 򥵥ݡȤƤʤޥ
+ǡ@samp{#!} ˤ¹Ԥ򥨥ߥ졼Ȥ뤿ˡʲΤ褦ˤƻȤ
+ȤǤ:
+
+:
+@example
+#! /usr/local/bin/ruby
+# This line makes the next one a comment in ruby \
+ exec /usr/local/bin/ruby -S $0 $*
+@end example
+
+ƥϺǽιԤ̵뤷ץȤ@code{/bin/sh}Ϥ
+@code{/bin/sh}rubyץȤ򥷥륹ץȤȤƼ¹Ԥ褦Ȥ롥
+2ܤ򥳥ȤǤȲᤷ3ܤ̾Υ륳ޥ
+ȤƼ¹Ԥruby󥿥ץ꥿ư롥
+
+ƥˤäƤ@code{$0}ɬեѥޤޤʤΤǡ@code{-S}
+Ѥrubyɬפ˱ƥץȤõ褦˻ؼ롥ruby
+ץȤ򸫤ĤȡιԤβϤϤ뤬ruby2ܤιˤ
+Хååˤꡤ2ܤΥȤ3ܤޤǷ³Ȥߤʤơ
+3ܤ̵뤹롥
+
+ե̾˴ޤޤ륹ڡʤɤˤϡ@code{$*}
+@code{$@{1+"$@@"@}}Τۤ褤csh᤹ˤư
+@cindex{OS#!ᤷʤк}
+
+@item -v
+@itemx --verbose
+
+Ĺ⡼ɡư˥СֹɽԤ, ƥѿ
+@code{$VERBOSE}򥻥åȤ롥ѿåȤƤ, Ĥ
+᥽åɤϼ¹Ի˾ĹʥåϤ롥@samp{-v}ץ󤬻
+ꤵ, ʳΰʤˤϥСɽ, ¹Ԥλ
+(ɸϤΥץȤԤʤ).
+
+@item --version
+
+rubyΥСɽ.
+
+ɽ:
+
+@example
+ruby - version 0.87 (95/09/23)
+@end example
+
+@item -x[directory]
+
+åΥץȤФƼ¹Ԥ롥ץȤɤ߹ˡ
+@code{#!}ǻϤޤ, @code{ruby}ȤʸޤԤޤǤɤФ
+ץȤν@samp{EOF}(եν), @samp{^D}(ȥD),
+@samp{^Z}(ȥZ)ޤͽ@code{__END__}ǻꤹ.
+
+ǥ쥯ȥ̾ꤹȡץȼ¹˻ꤵ줿ǥ쥯ȥ
+ܤ.
+
+@item -X directory
+
+ץȼ¹˻ꤵ줿ǥ쥯ȥ˰ܤ.
+
+@item -y
+@itemx --yydebug
+
+ѥǥХå⡼ɡץȤɽ˥ѥ뤹ιʸ
+Ϥβɽ롥ɽ˾ĹʤΤ, ѥ餽ΤΤ
+ǥХåͰʳɽʤɤȻפ.
+@end table
+
+@node rubyʸˡ, Ȥ߹ߴؿ, ޥɥ饤󥪥ץ, Top
+@comment node-name, next, previous, up
+@chapter rubyʸˡ
+
+@menu
+* Lexical structure::
+* ץ::
+* ::
+@end menu
+
+@node Lexical structure, ץ, rubyʸˡ, rubyʸˡ
+@comment node-name, next, previous, up
+@section Lexical structure
+
+ߤrubyμϥ饯åȤȤASCIIѤ롥rubyʸ
+ʸ̤롥̻ҤǤʤǤդΤȤ˶ʸ򤪤
+Ȥ롥ʸϥڡ(space)(tab)ľ(vertical
+tab) CR(carriage return)(form feed)Ǥ롥(newline)
+˼³ˤ϶ʸȤơʳǤʸζڤȤƲ
+ᤵ롥
+
+̻Ҥϱʸ(@samp{"_"}ޤ)Ϥޤꡤѿ³ΤǤ롥
+rubyμ̻ҤŤϤʤߤμϼ̻ҤȤƥޥХȥ
+(EUC,SJIS)̤ʤ
+
+̻Ҥ
+
+@example
+foobar
+ruby_is_simple
+@end example
+
+@menu
+* ::
+* ͽ::
+* ڤʸ::
+@end menu
+
+@node , ͽ, Lexical structure, Lexical structure
+@comment node-name, next, previous, up
+@subsection
+
+
+
+@example
+# this is a comment line
+@end example
+
+ץȸνˤʤ餤ʸʸɽ(@code{?#})ʳ
+@code{#}ޤǤϥȤȸʤȹΥХåå
+ϼιԤؤΥȤη³̣롥
+
+@node ͽ, ڤʸ, , Lexical structure
+@comment node-name, next, previous, up
+@subsection ͽ
+
+ͽϰʲ̤Ǥ
+
+@display
+alias def for redo undef
+and defined? if rescue when
+begin else in retry while
+break elsif module return yield
+case end nil self __END__
+class ensure not super __FILE__
+continue fail or then __LINE__
+@end display
+
+ͽϥ饹̾᥽å̾ѿ̾ʤɤѤ뤳ȤϤǤʤ
+@samp{$}, @samp{@@}ƬˤĤΤͽȸʤʤΤǡ
+Хѿ󥹥ѿˤĤƤʤ
+
+@node ڤʸ, , ͽ, Lexical structure
+@comment node-name, next, previous, up
+@subsection ڤʸ
+
+ʸʤɤΥƥʳξζʸ(֤ȥڡ)Ӳ
+(@samp{\n})ڤ국Ȥʤ롥˲Ԥ
+
+@example
+a +
+b
+@end example
+
+Τ褦˹ԤǽꡤιԤ³Ȥ(Ǹʸ
+黻Ҥ뤤@code{,}Ǥ)ζڤȤǧ롥
+
+@node ץ, , Lexical structure, rubyʸˡ
+@comment node-name, next, previous, up
+@section ץ
+
+
+
+@example
+print "hello world!\n"
+@end example
+
+ץϼ¤٤ΤǤ롥ȼδ֤ϥߥ(@code{;})ޤ
+ϲԤǶڤ롥
+
+@node , , ץ, rubyʸˡ
+@comment node-name, next, previous, up
+@section
+
+
+
+@example
+TRUE
+(1+2)*3
+foo()
+if test then ok else ng end
+@end example
+
+RubyǤ@code{nil}ʳɾ롥CPerlʤɤȤϰۤ
+ꡤ0@code{""}(ʸ)ϵȤɾʤΤǵĤ뤳ȡ
+
+ϳ̤ˤäƥ롼ԥ󥰤뤳ȤǤ롥
+
+@menu
+* ʸ::
+* ޥɽ::
+* ɽ::
+* ѿŸ::
+* ͥƥ::
+* ѿ::
+* Хѿ::
+* 󥹥ѿ::
+* 饹::
+* ѿ::
+* ѿ::
+* ::
+* Ϣ::
+* ᥽åɸƽм::
+* SUPER::
+* ::
+* 黻Ҽ::
+* 湽¤::
+* 饹::
+* ⥸塼::
+* ᥽å::
+* ðۥ᥽å::
+* ALIAS::
+* UNDEF::
+* DEFINED?::
+@end menu
+
+@node ʸ, ޥɽ, ,
+@comment node-name, next, previous, up
+@subsection ʸ
+@cindex ʸ
+
+
+
+@example
+"this is a string expression\n"
+'ʸ'
+@end example
+
+֥륯(@code{"})dz줿ʸϥХåå³ʸ
+ʲΤ褦˲ᤵ롥
+
+Хåå嵭ˡ
+
+@table @samp
+@item \t
+(0x09)
+@item \n
+ʸ(0x0a)
+@item \r
+ʸ(0x0d)
+@item \f
+ڡʸ(0x0c)
+@item \b
+Хåڡ(0x08)
+@item \a
+٥(0x07)
+@item \e
+(0x1b)
+@item \nnn
+8ʿɽ(n0-7)
+@item \xnn
+16ʿɽ(n0-9,a-f)
+@item \cx
+ȥʸ(xASCIIʸ)
+@item \x
+ʸxΤ
+@end table
+
+ޤ@code{#}ˤѿŸԤ롥
+
+@xref{ѿŸ}
+
+󥰥륯(@code{'})dz줿ʸϡ@code{\\}(Хå
+å夽Τ)@code{\'}(󥰥륯)ơʸȤ
+Ԥʤ
+
+ʸ󼰤󿷤ʸ󥪥֥ȤΤǡʸƤ
+Ƥ⡤ȤȤʸѤʤ
+
+@node ޥɽ, ɽ, ʸ,
+@comment node-name, next, previous, up
+@subsection ޥɽ
+@cindex ޥɽ
+
+
+
+@example
+`date`
+@end example
+
+RubyǤshΤ褦˥ޥɤμ¹Է̤ʸƥΤ褦˻ȤȤ
+Ǥ롥@code{``}ǰϤޤ줿ʸϡ֥륯ȤǰϤޤ줿ʸ
+Ʊͤ˥Хåå嵭ˡβѿŸԤʤ줿塤ޥɤȤ
+Ƽ¹Ԥ졤μ¹Է̤ʸȤͿ롥ޥɤɾ
+Ӥ˼¹Ԥ롥
+
+@node ɽ, ѿŸ, ޥɽ,
+@comment node-name, next, previous, up
+@subsection ɽ
+@cindex ɽ
+
+
+
+@example
+/^ruby the OOPL/
+/ruby/i
+@end example
+
+@code{/}ǰϤޤ줿ʸɽɽ@code{/}θʸ
+@code{i}Ϳ줿ˤϡɽϥޥåʸʸζ
+̤򤷤ʤ
+
+@table @code
+@item ^
+@item $
+
+@item .
+Ǥդ1ʸ
+@item \w
+ѿ[0-9A-Za-z_]Ʊ
+@item \W
+ѿ
+@item \s
+ʸ[ \t\n\r\f]Ʊ
+@item \S
+@item \d
+[0-9] Ʊ
+@item \D
+
+@item \b
+춭ʸ(ʸ饹)
+@item \B
+춭ʸ
+@item \b
+(0x08)(ʸ饹)
+@item [ ]
+ʸ饹
+@item *
+ľɽ0ʾη֤
+@item +
+ľɽ1ʾη֤
+@item {m,n}
+m󤫤nη֤
+@item ?
+0ޤ1
+@item |
+
+@item ( )
+ɽޤȤ
+@end table
+
+¾ʸƱХåå嵭ˡѿŸͭǤ롥
+
+@node ѿŸ, ͥƥ, ɽ,
+@comment node-name, next, previous, up
+@subsection ѿŸ
+@cindex ѿŸ
+
+
+
+@example
+"my name is #@{$ruby@}"
+@end example
+
+֥륯(@code{"})ǰϤޤ줿ʸ󼰡ޥʸɽ
+ӥ磻ɥɼǤ@code{#{ѿ̾}}ȤѿƤ
+Ÿ뤳ȤǤ롥ѿѿ(@code{$},@code{@@})ǻϤޤ
+@code{#ѿ̾}ȤǤŸǤ롥ʸ@code{#}³ʸ
+@code{@{},@code{$},@code{@@}ǤʤСΤޤʸ@code{#}ȤƲ
+롥
+
+@node ͥƥ, ѿ, ѿŸ,
+@comment node-name, next, previous, up
+@subsection ͥƥ
+
+@table @samp
+@item 123
+
+@item -123
+(Ĥ)
+@item 1_234
+(10ʿ@code{_}ޤळȤǤ)
+@item 123.45
+@item 1.2e-3
+@item 0xffff
+16
+@item 0377
+8
+@item ?a
+ʸ@code{a}Υ(97)
+@item ?\C-a
+ȥaΥ(1)
+@item ?\M-a
+᥿aΥ(225)
+@item ?\M-\C-a
+᥿-ȥaΥ(129)
+@item :ܥ
+̻/ѿ̾/黻ҤȰабsendʤɤǥ᥽åɤꤹ
+ʤɤ˻Ȥ
+@end table
+
+?ɽǤƤΥХåå嵭ˡͭǤ롥
+
+@node ѿ, , ͥƥ,
+@comment node-name, next, previous, up
+@subsection ѿ
+
+Rubyѿϥ(ͭϰ)ȼ̿(ͭ)ˤä4ʬव졤
+μѿ̾κǽΰʸǷꤵ롥̾ѿ2ʸܰʹߤ
+ѿޤ@code{_}Ǥ뤬ƥѿΰϡ@code{$}+1ʸε
+פȤѿ롥ѿ̾Ĺ˴ؤ̤¤Ϥʤ
+
+@menu
+* Хѿ::
+* 󥹥ѿ::
+* 饹::
+* ѿ::
+* ѿ::
+@end menu
+
+@node Хѿ, 󥹥ѿ, ѿ, ѿ
+@comment node-name, next, previous, up
+@subsection Хѿ
+
+
+
+@example
+$foobar
+$/
+@end example
+
+@code{$}ǻϤޤѿΥפϥХǤꡤץΤɤ
+Ǥ⻲ȤǤ롥μ̿ϥץμ̿Хѿˤ
+ɬפʤƤʤХѿ򻲾Ȥͤ
+@code{nil}Ǥ롥
+
+@node 󥹥ѿ, 饹, Хѿ, ѿ
+@comment node-name, next, previous, up
+@subsection 󥹥ѿ
+
+
+
+@example
+@@foobar
+@end example
+
+@code{@@}ǻϤޤѿϥ󥹥ѿǤꡤΥ饹ޤϥ֥
+饹Υ᥽åɤ黲ȤǤ롥פϥ᥽åǤꡤμ̿ϥ
+֥Ȥμ̿󥹥ѿˤɬפʤ
+Ƥʤ󥹥ѿ򻲾Ȥͤ@code{nil}Ǥ롥
+
+@node 饹, ѿ, 󥹥ѿ, ѿ
+@comment node-name, next, previous, up
+@subsection 饹
+
+
+
+@example
+FOOBAR
+@end example
+
+ʸǻϤޤ뼱̻ҤؤΥǤꡤǽ줿饹
+ƤΥ֥饹ΥǻȤǤ롥
+Ƥ⥸塼򥤥󥯥롼ɤ뤳ȤˤäƹԤʤ롥ؤ
+ϥȥåץ٥롤ʤ᥽åɤǤ٥ǤΤ߲ǽǤ롥
+ϥ饹֤ͤͭ졤ͤѹ뤳ȤǤʤ
+(㳰ȯ)饹μ̿ϥ饹μ̿
+Ƥʤ饹򻲾Ȥͤ@code{nil}Ǥ롥
+
+饹ϼưŪΤǡ饹̾Ǥ롥
+
+륯饹ޤϥ⥸塼°黲Ȥ뤿ˤ
+@code{::}黻ҤѤ롥
+
+
+@example
+Foo::Bar
+@end example
+
+@code{::}黻ҤѤϤǤʤ
+
+@node ѿ, ѿ, 饹, ѿ
+@comment node-name, next, previous, up
+@subsection ѿ
+
+
+
+@example
+foobar
+@end example
+
+ʸޤ@code{_}ǻϤޤ뼱̻Ҥϥѿޤϥ᥽åɸƽФ
+롥ѿפˤ뾮ʸǻϤޤ뼱̻Ҥؤκǽ
+Υפ°ѿˤʤ롥Ƥʤ̻Ҥ
+Ȥϰ̵᥽åɸƤӽФȤߤʤ롥
+
+ѿΥפϡѿ줿ƥ졼֥å᥽
+ޤϥ饹/⥸塼֥åνޤǤǤ롥̿⤽
+Υ֥åνޤ(ȥåץ٥Υѿϥץνλޤ)
+Ǥ뤬㳰Ȥƥƥ졼֥å³֥Ȳ줿
+ϡΥ֥ȤǤޤ¸ߤ롥Ʊפ򻲾Ȥ³
+֥ȴ֤Ǥϥѿ϶ͭ롥
+
+@node ѿ, ѿ, ѿ, ѿ
+@comment node-name, next, previous, up
+@subsection ѿ
+
+̾ѿʳ˵ѿȸƤФüѿ4Ĥ롥
+
+@table @code
+@item self
+ߤΥ᥽åɤμ¹Լ
+@item nil
+Nil饹ͣΥ󥹥(ɽ)
+@item __FILE__
+ץȤΥե̾(ʸ)
+@item __LINE__
+ߤιֹ()
+@end table
+
+εѿˤäƤͤѹ뤳ȤϤǤʤ
+ѿؤ㳰ȯ롥
+
+@node , Ϣ, ѿ,
+@comment node-name, next, previous, up
+@subsection
+
+
+
+@example
+[1, 2, 3]
+@end example
+
+Array饹Υ󥹥󥹤Ǥ롥뼰ϰʲη
+롥
+
+@example
+@code{[} ,@dots{}@code{]}
+@end example
+
+줾μɾ̤ޤ֤ǿ0ζ
+뤿ˤ϶
+
+@example
+@code{[} @code{]}
+@end example
+
+Ѥ롥
+
+@node Ϣ, ᥽åɸƽм, ,
+@comment node-name, next, previous, up
+@subsection Ϣ
+
+
+
+@example
+@{1=>2, 2=>4, 3=>6@}
+@end example
+
+ϢȤǤդΥ֥Ȥ򥭡(ź)ȤƻǤ롥Ruby
+ϢHash(Ϣ)饹Υ󥹥󥹤Ǥ롥ܺ٤ϥ饹
+@code{Hash}ι򻲾Ȥ줿@xref{Hash}
+
+ϢϢ󼰤ϰʲηǤ롥
+
+@example
+@code{@{} @code{=>} @dots{}@code{@}}
+@end example
+
+줾μɾ̤򥭡ͤȤϢ󥪥֥Ȥ֤
+ǿ0Ϣ뤿ˤ϶Ϣ
+
+@example
+@code{@{} @code{@}}
+@end example
+
+Ѥ롥Ǥ1İʾ夢硤ۣǤʤ@code{@{}, @code{@}}
+άǤ롥
+
+@node ᥽åɸƽм, SUPER, Ϣ,
+@comment node-name, next, previous, up
+@subsection ᥽åɸƽм
+
+
+
+@example
+foo.bar()
+foo.bar
+bar()
+print "hello world\n"
+print
+@end example
+
+֥Ȥ˥åŪʹʸåǤꡤδ
+ܷϰʲ̤Ǥ롥
+
+@display
+1 `.' ᥽å̾ [`(' @dots{}[`*' ] `)']
+@end display
+
+1ɾ륪֥ȤΡ̻Ҥǻꤵ᥽åɤƤ
+
+᥽å̾ˤ̾μ̻Ҥ¾̻Ҥ@code{?}ޤ@code{!}³
+Τ롥ȤơҸ(֤ͤ᥽å)ˤ@code{?}
+Ʊ̾Υ᥽åɤ٤Ƥ˲ŪʺѤĥ᥽å(:@code{tr}
+@code{tr!})ˤ@code{!}Ĥ롥
+
+åǡ쥷Ф@code{self}ξ硤쥷Фά̾
+ץߥ󥰸ˤؿΤ褦ʷǥ᥽åɤƤӽФȤ
+롥
+
+@display
+᥽å̾ `(' @dots{}[`*' ]`)'
+@end display
+
+᥽åɸƤӽФΰμγ̤άǤ뤬Ȥʤ뼰
+ʸޤͽǻϤޤϡۣ롥
+
+@example
+(, [, @{, /, +, -, if, while, *
+@end example
+
+ruby1Τ褦˸ʬ򡤿ʹ֤ˤȤäƼȻפ褦
+黻Ҥζ򸫤ʤ顤㴳ʣʥ롼Dz᤹롥ͽ̤η
+̤ʤäꡤɤΤ褦ɾ뤫ʬʤϾά
+̤Ĥ
+
+
+
+@example
+foo bar+baz # ᥽åɸƤӽФfoo(bar+baz)
+foo(1+2)*5 # ᥽åɸƤӽФ(foo(1+2)) * 5
+foo (1+2)*5 # ᥽åɸƤӽФfoo((1+2) * 5)
+foo 1 # ᥽åɸƤӽФfoo(1)
+foo -1 # ᥽åɸƤӽФfoo(-1)
+foo - 1 # ѿfoo - 1
+@end example
+
+᥽åɸƤӽФǤϰ1Ĥʤˤ̤άǤ롥
+Фꤷʤ᥽åɸƤӽФξϥѿλȤȲᤵ
+롥
+
+᥽å̾ȤƤǤդμ̻ҤѤ뤳ȤǤ롥ǽʸʸ
+Ǥ⾮ʸǤ⹽ʤѿ̾Ȥϼ̻Ҥ֤̾㤦ΤǽʣƤ
+
+饹ModuleƤ᥽å(@code{public},@code{private})ǥ
+åɤθƤӽФ椹뤳Ȥ롥@code{private}ǻꤵ줿
+¤줿᥽åɤϴؿǤƤӽФȤʤ
+
+@node SUPER, ,᥽åɸƽм, Ϣ,
+@comment node-name, next, previous, up
+@subsection SUPER
+
+
+
+@example
+super
+super(1,2,3)
+@end example
+
+åüʥȤƥѡ饹Υ᥽åɤθƤӽФ
+롥ηϥ᥽åɤ˥ѡ饹Ѥ뤿
+˻Ȥ
+
+@display
+super
+@end display
+
+
+ߤΥ᥽åɤͿ줿Τޤޥѥ饹Ʊ̾Υ᥽åɤƤ
+ФȤͿ줿ѿͤѹƤ⡤ϤΤϸΰ
+ͤǤ롥
+
+@display
+super`(' @dots{}`)'
+@end display
+
+ȤȤ˥ѡ饹Ʊ̾Υ᥽åɤƤӽФֺǸΰ
+@code{*}³̾Υ᥽åɸƤӽФƱͤŸϤ롥
+
+@node , 黻Ҽ, SUPER,
+@comment node-name, next, previous, up
+@subsection
+
+
+
+@example
+foo = bar
+foo[0] = bar
+foo.bar = baz
+@end example
+
+ѿʤɤͤꤹ뤿Ѥ롥ϱ黻ҷȤ
+Ƥ뤬᥽åɤǤϤʤΤǺ뤳ȤϤǤʤդˤʤ뤳
+Τϰʲ3μǤ롥
+
+ѿ(`$'̻ | `@@'̻ | ̻)
+
+@display
+ѿ `='
+@end display
+
+ѿؤϱդμɾ줿ͤդǻꤵ줿ѿ
+롥
+
+󻲾([@dots{}])
+
+@display
+1`[' 2@dots{}`]' `=' n
+@end display
+
+󻲾ȼؤϡ1ɾ륪֥Ȥˡ2鼰n
+ޤǤȤơ@code{[]=} Ȥ᥽åɤƤӽФ
+
+°(`.'̻)
+
+@display
+1 `.' ̻ `=' 2
+@end display
+
+°(ʤΥ᥽åɸƤӽФ)ؤϡ1ɾ
+֥(쥷Фά줿@code{self})Фơ
+@code{̻=}Ȥ᥽åɤ򡤼2ȤƸƤӽФ
+
+@menu
+* ::
+* ¿::
+@end menu
+
+@node , ¿, ,
+@comment node-name, next, previous, up
+@subsubsection
+
+
+
+@example
+foo += 12
+@end example
+
+ͤΤΤ˱黻ä뤿˼롥
+
+@display
+1 op= 2 # 1ǽǤʤФʤʤ
+@end display
+
+ηŪ@code{1 = 1 op 2}Ʊͤɾ롥
+11󤷤ɾʤΤǡ1Ѥϡ
+@code{1 = 1 op 2}Ȥưۤʤ̤Ȥʤ롥
+opȤƻȤ黻Ҥ
+
+@display
+ +, -, *, /, %, **, &, |, ^, <<, >>
+@end display
+
+11Ǥ롥黻Ҥ@code{=}δ֤˥ڡƤϤʤ
+
+@node ¿, , ,
+@comment node-name, next, previous, up
+@subsubsection ¿
+
+
+
+@example
+foo, bar, baz = 1, 2, 3
+foo, = list()
+foo, *rest = list2()
+@end example
+
+ƱʣѿԤʤȤǤ롥ηϰʲ̤Ǥ롥
+
+@display
+ `,' [ `,'@dots{}] [`*' ]= [, @dots{}]
+@end display
+
+դˤ3μ롥դμĤʤϡ
+Ȥ(ɬפʤ@code{to_a}᥽åɤѴ)Ǥ
+줾캸դ롥ʳξˤϡ줾μͤդ
+롥դοȱդǤοʤˤ­ʤѿˤ
+@code{nil}졤;äǤ̵뤵롥¿κǸǤ
+@code{*}硤ĤưȤ롥
+
+
+
+@example
+foo, bar = [1, 2] # foo = 1; bar = 2
+foo, bar = 1, 2 # foo = 1; bar = 2
+foo, bar = 1 # foo = 1; bar = nil
+
+foo, bar, baz = 1, 2 # foo = 1; bar = 2; baz = nil
+foo, bar = 1, 2, 3 # foo = 1; bar = 2
+foo,*bar = 1, 2, 3 # foo = 1; bar = [2, 3]
+@end example
+
+¿ͤ(Ѵ줿)դǤ롥
+
+@node 黻Ҽ, 湽¤, ,
+@comment node-name, next, previous, up
+@subsection 黻Ҽ
+
+
+
+@example
+1+2*3/4
+@end example
+
+ץߥ󥰤ؤΤ˰Υ᥽åɸƤӽФ湽¤ϱ黻ҷ
+Ȥ롥Rubyˤϰʲˤ黻Ҥ롥ΤΤۤɷ̤
+Ʊα黻Ҥη̤ƱǤ롥
+@cindex{絬§}
+
+@display
+ ::
+ [](󻲾), []=()
+ **
+ -(unary) +(unary) ! ~
+ * / %
+ + -
+ << >>
+ &
+ | ^
+ > >= < <=
+ <=> == != =~ !~
+ &&
+ ||
+ .. ...
+ =() (+=, -=@dots{})
+ and or
+ not
+ if while
+@end display
+
+ۤȤɤα黻ˤϥ᥽åɸƤӽФȤƲᤵ(饹˺
+Ǥ)ǤʤüʤΤ롥Ǥʤü黻
+
+@display
+ =, .., ..., !, not, &&, and, |, or, if, while
+@end display
+
+γƱ黻ҤȡȤȤ߹碌ˤʤ !=, !~ Ӽ黻Ҥ
+롥
+
+Ǥü黻Ұʳα黻ҷϰʲΤ褦ʥ᥽åɸƤӽФȸ
+ʤ롥
+
+ñ黻(+, -, ~)
+
+@display
+1. 黻 ()
+@end display
+
+(Ϣޤ)Ǥλ(1 `[' 2@dots{}`]')
+
+@display
+1. `[]' (2@dots{})
+@end display
+
+Ǥ( 1 `[' 2@dots{}`]' `=' n)
+
+@display
+1. `[]=' (2@dots{}, n)
+@end display
+
+ʳ2黻(1 黻 2)
+
+@display
+1. 黻 (2)
+@end display
+
+ϤޤǤ⤽Υ᥽åɸƤӽФȤƲᤵȤ
+ǡrubyץǤҤȤ櫓ǤϤʤ
+
+@node 湽¤, 饹, 黻Ҽ,
+@comment node-name, next, previous, up
+@subsection 湽¤
+
+RubyǤ(CʤɤȤϰۤʤ)湽¤ϼǤꡤ餫ͤġ
+lispʤɤ˻ƤȤ롥RubyCPerlѤ湽¤
+ĤħŪ湽¤Ȥƥƥ졼ġƥ졼Ϸ֤Ϥ
+Ȥ桼ΤǤ.
+@xref{ƥ졼(֤)}
+
+@menu
+* IF::
+* IF::
+* CASE::
+* AND::
+* OR::
+* ϰϻ꼰::
+* NOT::
+* WHILE::
+* WHILE::
+* ƥ졼(֤)::
+* FOR::
+* YIELD::
+* FAIL::
+* BEGIN::
+* RETRY::
+* RETURN::
+* BREAK::
+* CONTINUE::
+* REDO::
+@end menu
+
+@node IF, IF, 湽¤, 湽¤
+@comment node-name, next, previous, up
+@subsubsection IF
+
+
+
+@example
+if age >= 12 then print "adult fee\n" else print "child fee\n" end
+gender = if foo.gender == "male" then "male" else "female" end
+@end example
+
+
+@display
+if 1 [then]
+ @dots{}
+[elsif 2 [then]
+ @dots{}]@dots{}
+[else
+ @dots{}]
+end
+@end display
+
+ȽǼRuby@code{if}@code{else if}Ǥ@code{elif}Ǥʤ
+@code{elsif}@code{if}Ϣ³ԤʤȤդ뤳ȡ郎Ω
+Ƽ¹Ԥ֤ͤ¹Ԥʤäͤ@code{nil}
+
+@code{if}ξȽμǤʸɽƥϼ
+@example
+$_=~ ƥ
+@end example
+ξάǤȤߤʤ롥
+
+@node IF, CASE, IF, 湽¤
+@comment node-name, next, previous, up
+@subsubsection IF
+
+
+
+@example
+print "debug\n" if $debug
+@end example
+
+
+@display
+ if
+@end display
+
+、(@code{if})μԤ뼰äɾ롥ưб
+@code{if}ƱͤǤ롥@code{if}ҤΤĤͤϾ郎Ω
+ˤϼ͡Ωξˤ@code{nil}Ǥ롥
+
+@node CASE, AND, IF, 湽¤
+@comment node-name, next, previous, up
+@subsubsection CASE
+
+
+
+@example
+case $age
+when 0 .. 2
+ "baby"
+when 3 .. 6
+ "little child"
+when 7 .. 12
+ "child"
+when 12 .. 18
+ "youth"
+else
+ "adult"
+end
+@end example
+
+
+@display
+case 0
+[when 1 [, 2]@dots{}[then]
+ @dots{}]@dots{}
+[else
+ @dots{}]
+end
+@end display
+
+ʬC@code{switch}Pascal@code{case}˻Ƥ롥
+@code{break}æФ뤳Ȥμ˷³뤳ȤʤΤա
+
+ΰפ@code{n =~ 0}ǹԤʤ롥Ĥޤꡤ
+
+@example
+case expr0
+when expr1, expr2
+ stmt1
+when expr3, expr4
+ stmt2
+else
+ stmt3
+end
+@end example
+
+ϰʲ@code{if}ȤۤǤ롥
+
+@example
+_tmp = expr0
+if expr1 =~ _tmp || expr2 =~ _tmp
+ stmt1
+elsif expr3 =~ _tmp || expr4 =~ _tmp
+ stmt2
+else
+ stmt3
+end
+@end example
+
+@node AND, OR, CASE, 湽¤
+@comment node-name, next, previous, up
+@subsubsection AND
+
+
+
+@example
+test && set
+test and set
+@end example
+
+
+@display
+1 `&&' 2
+1 `and' 2
+@end display
+
+1ɾͤ(@code{nil}ʳ)ǤС2ɾ롥
+@code{and}̤ͥ㤤̾Ǥ롥
+
+@code{and}ξդμǤʸɽƥϼ
+@code{$_ =~ ƥ} ξάǤȤߤʤ롥
+
+@node OR, ϰϻ꼰, AND, 湽¤
+@comment node-name, next, previous, up
+@subsubsection OR
+
+
+
+@example
+demo || die
+demo or die
+@end example
+
+
+@display
+1 `||' 2
+1 'or 2
+@end display
+
+1ɾͤǤС2ɾ롥@code{or}̤ͥ
+㤤̾Ǥ롥
+
+@code{or}ξդμǤʸɽƥϼ
+@code{$_ =~ ƥ}ξά
+ǤȤߤʤ롥
+
+@node ϰϻ꼰, NOT, OR, 湽¤
+@comment node-name, next, previous, up
+@subsubsection ϰϻ꼰
+
+
+
+@example
+1 .. 20
+/first/ ... /second/
+@end example
+
+
+@display
+1 `..' 2
+1 `...' 2
+@end display
+
+PʳξǤϼ1鼰2ޤǤϰϥ֥Ȥ֤
+
+PȤϰϻ꼰Ѥ줿ϡ1ˤʤޤǤϵ֤
+θϼ2֤ޤǤϿ֤2ˤʤо֤ϵ롥
+@code{..}ϼ1ˤʤä˼2ɾ(awkΤ褦)@code{...}ϼ
+ɾޤǼ2ɾʤ(sedΤ褦)
+
+Pϰϻ꼰ξդȤʤ뼰Ǥϡʸɽƥϼ
+@code{$_ =~ ƥ}ξά@code{$. == }ξάȲᤵ
+롥
+
+@node NOT, WHILE, ϰϻ꼰, 湽¤
+@comment node-name, next, previous, up
+@subsubsection NOT
+
+
+
+@example
+! me
+not me
+i != you
+@end example
+
+
+@display
+`!'
+not
+@end display
+
+ǤеǤп֤
+
+@code{!}Ǥʸɽƥϼ@code{$_ =~ ƥ}ξά
+ǤȤߤʤ롥
+
+@display
+1 `!=' 2
+@end display
+
+@code{!(1 == 2)}ξά
+
+@display
+1 `!~' 2
+@end display
+
+@code{!(1 ~= 2)}ξά
+
+@node WHILE, WHILE, NOT, 湽¤
+@comment node-name, next, previous, up
+@subsubsection WHILE
+
+
+
+@example
+while sunshine()
+ work()
+end
+@end example
+
+
+@display
+while
+ @dots{}
+end
+@end display
+
+ɾͤδ֡Τ򷫤֤¹Ԥ롥@code{while}ͤ
+@code{nil}Ǥ롥
+
+whileξȽμǤʸɽƥϼ
+@code{$_ =~ ƥ} ξάǤȤߤʤ롥
+
+@node WHILE, ƥ졼(֤), WHILE, 湽¤
+@comment node-name, next, previous, up
+@subsubsection WHILE
+
+
+
+@example
+sleep while idle
+@end example
+
+
+@display
+ñ㼰 while
+@end display
+
+μɾͤδ֡ñ㼰򷫤֤¹Ԥ롥ñ㼰
+@code{begin}ǤϤޤ@code{begin}ɾƤPɾ
+(٤begin¹Ԥ)@code{while}ҤΤĤͤ
+@code{nil}Ǥ롥
+
+@node ƥ졼(֤), FOR, WHILE, 湽¤
+@comment node-name, next, previous, up
+@subsubsection ƥ졼(֤)
+
+
+
+@example
+[1,2,3].each@{|i| print i*2, "\n"@}
+@end example
+
+ƥ졼Ȥ湽¤(ä˥롼)ݲΤѤ᥽åɤ
+Ǥ롥ɤ(֥åȸƤФ)ꤷƥƥ졼Ƥ
+Фȡƥ졼Ŭͤ򥻥åȤƥ֥åɾ(餯
+ʣ)ƥ졼Υ֥åθƤӽФ@code{yield}Ѥ(
+)
+
+ƥ졼θƤӽФϰʲιʸǹԤʤ롥
+
+@display
+ `@{' [`|' ռ@dots{}`|'] @dots{}`@}'
+@end display
+
+ּפ֥åȤꤷּפΥ᥽åɤ򥤥ƥ졼Ȥɾ
+롥ּפΥȥåץ٥Υ᥽åɤƥ졼ȤƸƤӽФ졤
+쥷Фɽ䡤μϥƥ졼ȤƤϸƤӽФʤּ
+ʣμޤơƥ졼Ȥƽ˸ƤФ롥
+
+ƥ졼@code{yield}¹Ԥȡǻꤵ줿ͤռ
+ǻꤵ줿ѿ졤֥å¹Ԥ롥֥åμ¹Ԥλ
+Ȥͤ @code{yield}ͤȤ֤롥᥽åɤƥ졼
+ȤƸƤӽФ줿ɤϥ᥽å@code{iterator?}ͤΤ뤳
+ȤǤ롥ˤ@code{Enumerable:grep}᥽åɤΤ褦˥ƥ졼Ȥ
+ƸƤФ줿̤Υ᥽åɤȤƸƤФ줿Ȥưۤʤ᥽åɤ
+롥
+
+@node FOR, YIELD, ƥ졼(֤), 湽¤
+@comment node-name, next, previous, up
+@subsubsection FOR
+
+
+
+@example
+for i in [1, 2, 3]
+ print i*2, "\n"
+end
+@end example
+
+֥ȤγǤФԤʤη󶡤Ƥ롥
+ϰʲ̤ꡥ
+
+@display
+for ռ@dots{} in
+
+end
+@end display
+
+γǤФ¹Ԥ롥ϰʲμȤۤǤ롥֤ۤܡ
+ȤΤϡƥ졼֥åϿѿͭϰϤƳ
+ΤФ@code{for}ʸϥѿΥפ˱ƶڤܤʤ
+ʤ뤫Ǥ
+
+@display
+().each `@{' `|' ռ@dots{}`|' `@}'
+@end display
+
+äƼͤΥ֥Ȥ᥽å@code{each}ʤ硤
+@code{for}¹Ԥ㳰ȯ롥
+
+@node YIELD, FAIL, FOR, 湽¤
+@comment node-name, next, previous, up
+@subsubsection YIELD
+
+
+
+@example
+yield data
+@end example
+
+
+@display
+yield `(' [ [`,' @dots{}]])
+@end display
+
+ƥ졼ǥ֥åθƤӽФԤʤ@code{yield}¹Ԥ᥽
+ɤƥ졼ȤƸƤӽФƤʤˤ㳰ȯ롥
+@code{yield} ͤϥ֥åͤǤ롥
+
+@code{yield}ΰγ̤ۣǤʤ¤άǤ롥
+
+@node FAIL, BEGIN, YIELD, 湽¤
+@comment node-name, next, previous, up
+@subsubsection FAIL
+
+
+
+@example
+fail
+fail "you lose"
+@end example
+
+
+@display
+fail `(' [å] `)'
+@end display
+
+㳰ȯ롥åͿ줿ˤȯե
+ֹ̾򥷥ƥѿ@code{$@@}ˡå@code{$!}˥åȤ롥
+
+@code{fail}ΰγ̤ϾάǤ롥
+
+@node BEGIN, RETRY, FAIL, 湽¤
+@comment node-name, next, previous, up
+@subsubsection BEGIN
+
+
+
+@example
+begin
+ do_something()
+rescue
+ recover()
+ensure
+ must_to_do()
+end
+@end example
+
+ʣμޤȤ뤿㳰Τ@code{begin}롥
+@code{begin}ηϰʲ̤Ǥ롥
+
+@display
+begin
+ @dots{}
+[rescue
+ @dots{}]
+[ensure
+ @dots{}]
+end
+@end display
+
+@code{begin}ͤϰֺǸɾ줿ͤǤ롥@code{begin}
+ȯ㳰@code{rescue}ͤ뤳Ȥ롥
+@code{begin}ͤϤ@code{rescue}ǺǸɾͤ
+롥@code{ensure}᤬¸ߤ@code{begin}λɬ
+(ェλǤʤ㳰, @code{return}, @code{break},
+@code{continue}, @code{redo}ʤɤˤæФǤ)@code{ensure}μɾ
+롥
+
+@node RETRY, RETURN, BEGIN, 湽¤
+@comment node-name, next, previous, up
+@subsubsection RETRY
+
+
+
+@example
+retry
+@end example
+
+
+@display
+retry
+@end display
+
+Ƽ¹ԡ@code{begin}@code{rescue}ǻȤ줿硤@code{begin}
+Ϥᤫ⤦ټ¹Ԥ롥㳰ԤʤäƤƻԤΤ˻Ȥ
+
+@example
+begin
+ 餫ν(㳰ȯ)
+rescue
+ 㳰
+ retry # 㳰бƺƼ¹
+end
+@end example
+
+ƥ졼ƥ졼֥åޤforʸǻȤ줿ˤϡ
+ƥ졼ɾΤǽ餫¹Ԥ롥ƥ졼ΰɾ롥
+
+@example
+for i in 1..5
+ retry if some_condition # i == 1 ľ
+end
+@end example
+
+@example
+# 桼until loop
+def until(cond)
+ yield
+ retry if not cond
+end
+@end example
+
+@code{rescue}䥤ƥ졼ʳretryѤ줿㳰ȯ롥
+
+@node RETURN, BREAK, RETRY, 湽¤
+@comment node-name, next, previous, up
+@subsubsection RETURN
+
+
+
+@example
+return
+return 12
+return 1,2,3
+@end example
+
+
+@display
+return [[`,' @dots{}]]
+@end display
+
+ͤͤȤƥ᥽åɤμ¹Ԥλ롥2İʾͿ줿
+ˤϡǤȤ᥽åɤͤȤ롥Ĥʤ
+ˤ @code{nil} ͤȤʤ롥
+
+@node BREAK, CONTINUE, RETURN, 湽¤
+@comment node-name, next, previous, up
+@subsubsection BREAK
+
+
+
+@example
+break
+@end example
+
+
+@display
+break
+@end display
+
+@code{break} ϥ롼פæФ롥CȰ㤤@code{break}ϤäȤ¦
+롼פæФѤ@code{case} ȴѤϻʤ
+
+@node CONTINUE, REDO, BREAK, 湽¤
+@comment node-name, next, previous, up
+@subsubsection CONTINUE
+
+
+
+@example
+continue
+@end example
+
+
+@display
+continue
+@end display
+
+@code{continue}ϤäȤ¦Υ롼פμη֤Ϥ롥
+
+@node REDO, 湽¤, CONTINUE, 湽¤
+@comment node-name, next, previous, up
+@subsubsection REDO
+
+
+
+@example
+redo
+@end example
+
+
+@display
+redo
+@end display
+
+@findex redo
+@code{redo}ϥ롼׾ΥåԤʤ鷺ߤη֤ľ
+
+@node 饹, ⥸塼, 湽¤,
+@comment node-name, next, previous, up
+@subsection 饹
+@cindex 饹
+
+
+
+@example
+class Foo:Super
+ def test
+ :
+ end
+ :
+end
+@end example
+
+
+@display
+class 饹̾ [`:' ѡ饹̾ ]
+
+end
+@end display
+
+@findex class
+饹̾ʸǻϤޤ뼱̻ҤǤ롥
+
+@node ⥸塼, ᥽å, 饹,
+@comment node-name, next, previous, up
+@subsection ⥸塼
+@cindex ⥸塼
+
+
+
+@example
+module Foo
+ def test
+ :
+ end
+ :
+end
+@end example
+
+
+@display
+module 饹̾
+
+end
+@end display
+
+@findex module
+⥸塼̾ʸǻϤޤ뼱̻ҤǤ롥
+
+@node ᥽å, ðۥ᥽å, ⥸塼,
+@comment node-name, next, previous, up
+@subsection ᥽å
+@cindex ᥽åɤ
+
+
+
+@example
+def fact(n)
+ if n == 1 then
+ 1
+ else
+ n * fact(n-1)
+ end
+end
+@end example
+
+
+@display
+def ᥽å̾ [`(' [ [= ǥե]]@dots{}[`,' `*' ]`)']
+
+end
+@end display
+@findex def
+
+˥ǥեȼͿ줿硤᥽åɸƤӽФ˰Ϳ
+ʤäˤϥǥեȼɾ̤ǽ(ǥեȼ
+ɾϸƤӽФ˹Ԥ)ֺǸΰ@code{*}³(ñ)
+Ǥ硤μɾ(ǤʤѴ)Ÿơ
+Ȥɲä롥
+
+̾᥽åϥͥȤǤʤΤǡ᥽åǤϥ᥽å
+ƤӸƤӽФʤ
+
+᥽å̾ϼ̻ҤޤʸǤ롥黻Ҥκ򤹤ˤʸ
+ǻꤹ롥¤ӤκǸ@code{*}硤¿Ϳ
+줿°ϡǸΰȤͿ(­ʤˤϥ顼)
+
+᥽åɤˤϸƤӽФ¤ä뤳ȤǤ¤ä줿᥽åɤϡ
+ؿǤƤӽФʤ(private᥽å)
+
+˥᥽åɤ硤饹γˤdefϥǥե
+Ǥprivate᥽åɤ饹ˤdefpublic᥽
+ɤ롥ѡ饹Υ᥽åɤˤ
+åɤβĻϥѡ饹Υ᥽åɤΤΤѤ
+
+᥽åɤβĻѹˤ@code{Module}饹Ƥ
+@code{public}, @code{private}γƥ᥽åɤѤ롥
+
+@node ðۥ᥽å, ALIAS, ᥽å,
+@comment node-name, next, previous, up
+@subsection ðۥ᥽å
+
+
+
+@example
+def foo.test()
+ print "this is foo\n"
+end
+@end example
+
+
+@display
+def `.' ᥽å̾ [`(' [ [= ǥե]]@dots{}[`,' `*' ]`)']
+
+end
+@end display
+
+ðۥ᥽åɤȤϤΥ֥Ȥ˸ͭΥ᥽åɤǤ롥
+
+ηϼͤǤ륪֥Ȥðۥ᥽åɤ롥ͤ
+(ӥȥ󥯥饹Ǥʤ)̾索֥Ȥ饹ޤϥ⥸塼Ǥ
+ɬפ롥̾᥽åȤϰۤʤꡤðۥ᥽åɤϥ᥽å
+ǤͥȤ뤳ȤǤ롥
+
+ðۥ᥽åɤ̾ϷѾʤ㳰Ȥƥ饹ðۥ᥽åɤϤ
+֥饹ˤѾ롥ؤХ饹ðۥ᥽åɤ¾Υ֥
+Ȼظƥˤ륯饹᥽åɤƯ򤹤롥
+
+: 󥯥롼ɤ⥸塼ðۥ᥽åɤϷѾʤ
+
+@node ALIAS, UNDEF, ðۥ᥽å,
+@comment node-name, next, previous, up
+@subsection ALIAS
+@cindex ᥽åɤ̾Ĥ
+
+
+
+@example
+alias foo bar
+@end example
+
+
+@display
+alias ᥽å̾1 ᥽å̾2
+@end display
+
+@findex alias
+@code{alias}ʸǥ᥽åɤ̾Ĥ뤳ȤǤ롥̾դ줿
+åɤϡλǤΥ᥽åѤΥ᥽åɤ
+Ƥ⡤θŤ᥽åɤƤӽФ줿ΤƱƯ򤹤롥
+
+@node UNDEF, DEFINED?, ALIAS,
+@comment node-name, next, previous, up
+@subsection UNDEF
+@cindex ᥽åɤä
+
+
+
+@example
+undef bar
+@end example
+
+
+@display
+undef ᥽å̾
+@end display
+
+@findex undef
+᥽åɤäˤundefѤ롥
+
+defˤ̾@code{undef}ˤäˤäƥ饹Υ
+ե򥹡ѡ饹Ωѹ뤳ȤǤ롥᥽
+ɤself˥åäƤ⤢Τǡ褯դʤȴ¸
+᥽åɤưʤʤǽ롥
+
+@node DEFINED?, , UNDEF,
+@comment node-name, next, previous, up
+@subsection DEFINED?
+@cindex ᥽åɤƤ뤫ɤ
+@cindex ѿƤ뤫ɤ
+@cindex Ƥ뤫ɤ
+
+
+
+@example
+defined? print
+defined? File.print
+defined?(foobar)
+defined?($foobar)
+defined?(@@foobar)
+defined?(Foobar)
+@end example
+
+
+@display
+defined?
+@end display
+
+@findex defined?
+᥽åɸƤӽФξ硤Υ᥽åɤƤ˿֤
+ѿλȤǤϡѿƤ
+˿֤ʳμξϼɾơ㳰ȯʤп
+
+@node Ȥ߹ߴؿ, Ȥ߹ѿ, rubyʸˡ, Top
+@comment node-name, next, previous, up
+@chapter Ȥ߹ߴؿ
+
+Rubyˤϸ̩ʰ̣ǤϴؿϤʤ@code{Kernel}饹δؿ᥽åɤ
+(Ƥ̾說饹ؿǸƤӽФΤ)ؿŪѤ롥
+ŪѤ᥽åɤʲˤ롥Υ᥽åɤ
+ˤϸߴͤƹԤʤ٤Ǥ롥
+
+@ftable @code
+@item autoload(@var{module}, @var{file})
+
+@var{module}˺ǽ˥@var{file}@code{require}褦
+ꤹ롥@var{module}ʸޤϥܥǻꤹ롥
+
+@item caller([@var{level}])
+
+@var{level}ʾθƽФξ@code{$@@}η롥ȥåץ٥
+Ǥ@code{nil}֤callerͤ@code{$@@}뤳Ȥ㳰
+ȯ֤Ǥ롥ޤʲΤ褦ʥɤǸƽФطΥХåȥ졼
+ɽǤ롥
+
+@example
+n = 0
+while c = caller(n)
+ print c, "\n"
+end
+@end example
+
+@item eof
+@itemx eof?
+
+ޥɥ饤󤫤Ϥ@code{EOF}ãƤ硤֤
+
+@item eval(@var{expr})
+
+@var{expr}ȤͿ줿ʸrubyץȤƲᡤ¹Ԥ롥
+
+@item exec(@var{command})
+
+ץμ¹Ԥλ롥@var{status}ȤͿ줿硤
+ͤrubyޥɤνλơȤ롥ǥեȤ0
+
+@item exit!(@var{status})
+
+ץμ¹Ԥλ롥@var{status}λơȤ롥
+@code{exit}Ȥϰäơ㳰ʤɤϰڹԤʤʤ@code{fork}θ塤
+ҥץλʤɤѤ롥
+
+@item fork
+
+@samp{fork}ƥॳ¹Ԥҥץ롥ܺ٤
+@samp{fork(2)}򻲾ȤΤȡƥץ¦ǤϻҥץΥץid
+ҥץ¦Ǥ@code{nil}֤餫θǻҥץ
+Ԥˤ㳰ȯ롥ƥ졼ȤƸƤФ줿ϡ
+ץͿ줿֥åɾ֥åɾλǻ
+ץェλ롥
+
+@item format(@var{format}@dots{})
+
+եޥåȤȤͿ줿ʸC@samp{sprintf}Ʊ褦
+ᤷŸʸ֤᥽å@code{sprintf}̾
+
+Rubyˤ@samp{format}ҤγĥˤĤƤ@code{sprintf}ι
+ȤΤȡ
+
+@item getc
+
+ɸϤʸФͤɤ߹ʸʸ(ASCII)
+ɽ@code{Fixnum}Ǥ롥
+
+@item gets
+
+ȤͿ줿ե(ʤɸ)ǹ벾
+Ūʥե(ƥѿ@code{$<}ǥǤ)ɤ߹
+ǡɤ߹ߤˤϤʸ֤եν
+ãˤ@code{nil}֤Ԥζڤϥƥѿ@code{$/}ˤä
+ѹǤ롥ɤ߹ʸϥƥѿ@code{$_}ˤ⥻åȤ롥
+
+@item gsub(@var{pattern}[, @var{replace}])
+@itemx gsub!(@var{pattern}[, @var{replace}])
+
+ƥѿ@code{$_}λؤʸ @var{pattern}˥ޥåʬ
+@var{replace}֤롥@code{String}饹@code{gsub}᥽
+ɤβ򻲾ȤΤȡ@var{replace}ά줿ˤϥƥ졼
+ư֥åɾִ̤롥@code{gsub}᥽åɤ
+@code{$_}ͤ򥳥ԡơԡ򹹿@code{$_}롥
+
+@code{gsub!}@code{$_}λؤƤʸ󤽤ΤΤ񤭴롥
+
+@item iterator?
+
+᥽åɤƥ졼ȤƸƤӽФ줿ˤϿǤʤ˵֤
+Ҹ졥
+
+@item kill(@var{signal}, @var{pid}@dots{})
+
+@var{pid}ǻꤵ줿ץ˥ʥ롥@var{signal}ϥʥ
+ֹ椫̾ǻꤹ롥ͤĥʥ(뤤ϥʥ̾
+@code{-})ͿȥץǤϤʤץ롼פ˥ʥ롥
+
+@item load(@var{file})
+
+@var{file}ɤ롥@var{file}ɤѥϥƥѿ
+@code{$:}Ƿꤵ롥
+
+@item loop
+
+̵¥롼פ륤ƥ졼(Ǥʤ¤)ʵפ˥ƥ졼֥å
+ɾ³롥
+
+@item open(@var{file}[, @var{mode}])
+
+@var{file}򥪡ץ󤷤ơ@code{File}֥Ȥ֤ե̾
+ץ󤹤ե򼨤ե̾@code{|}ǻϤޤˤ³ʸ
+򥳥ޥɤȤƵưѥץ饤롥
+
+ޥ̾@samp{"-"}Ǥ@code{open}rubyλҥץ
+λҥץȤΥѥפ֤
+
+@var{mode}ϥեΥ⡼ɤꤹ롥ϰʲΤΤ
+줫ʸǤ롥
+
+@table @samp
+@item r
+ɤ߹ѡ@code{open}եϤ餫¸ߤƤɬפ
+롥
+
+@item r+
+ɤ߽ξѡ@code{open}եϤ餫¸ߤƤɬפ
+롥
+
+@item w
+񤭹ѡե뤬¸ߤƤ硤Ĺ0ˤ롥¸ߤƤ
+п˥ե롥
+
+@item w+
+ɤ߽ξѡɤ߹ߤԤʤ뤳Ȱʳ@samp{"w"}ƱƯ򤹤롥
+
+@item a
+ɲý񤭹ѡեϤ餫¸ߤƤɬפ롥񤭹
+ϥեκǸɲä롥
+
+@item a+
+ɤ߽ξѡե뤬¸ߤƤʤп˺롥
+ϥեκǸ˽롥
+@end table
+
+⡼ɤά줿ΥǥեȤ@samp{"r"}Ǥ롥
+
+@item print(@var{arg}1@dots{})
+
+˽Ϥ롥Ϳʤˤ@code{$_}ͤϤ롥
+ʸʳΥ֥ȤȤͿ줿ˤϡ֥
+Ȥ@code{to_s}᥽åɤˤäʸѴƤϤ롥
+ѿ@code{$;}(ϥեɥѥ졼)@code{nil}Ǥʤͤå
+Ƥˤϡưδ֤ˤʸϤ롥ƥѿ
+@code{$\}(ϥեɥѥ졼)@code{nil}ǤʤͤåȤƤ
+ˤϡǸˤϤ롥
+
+@item printf([@var{port}, ]@var{format}, @var{arg}@dots{})
+
+CprintfƱ褦@var{format}˽ʸѴ
+롥1IOΥ֥饹Υ󥹥󥹤ǤäϤΥ֥
+ȤФƽϤԤʤǥեȤ@code{$stdout}˽Ϥ롥
+
+RubyˤformatҤγĥˤĤƤsprintfι򻲾ȤΤȡ
+
+@item proc
+@itemx lambda
+
+Ϳ줿ƥ졼֥å³֥(饹@code{Proc}Υ
+󥹥)Ȥ֤
+
+@item rand(@var{max})
+
+0@var{max}ۤʤϰϤȯ롥ͤ
+@code{Fixnum}
+
+@item require(@var{feature})
+
+@var{feature}ǻꤵfileɤ롥@var{feature}ϥɤե
+ꤹʸǡĥ@code{.rb}ꤵƤruby
+ץȡĥ@code{.o}ꤵƤϡХʥ⥸塼
+롥ĤΥƥǤϥХʥ⥸塼Υɤ
+󶡤ʤХʥ⥸塼μºݤΥեγĥҤϥƥ
+˰ۤʤ뤬@var{feature}̾γĥҤϤĤ@code{.o}Ѥ롥
+
+ĥҤꤵʤϡޤ@code{.rb}@code{.o}äơե
+򸡺롥
+
+requireϼºݤ˥ɤˤ @code{TRUE}˥ɤƤ
+@code{FALSE}֤ޤɤ@var{feature}̾(ĥҤޤ
+)ѿ@code{$"}ɲä롥
+
+@item select(@var{reads}[, @var{writes}[, @var{execpts}[, @var{timeout}]]])
+
+@samp{select(2)}¹Ԥ롥@var{reads}/@var{writes}/@var{execpts}ˤ
+IO(ޤϤΥ֥饹)Υ󥹥󥹤Ϳ롥@var{timeout}
+Fixnum/Float/TimeΤ줫ǻꤹ롥ͤ@var{timeout}Ω
+ˤ@code{nil}ǤʤȤ3Ǥ֤γǤ
+//㳰ԤΥ֥ȤǤ(ꤷΥ֥åȡ
+Ԥ֥Ȥꤷʤä@code{nil})ƥॳ
+¹˳ߤäˤϳ϶ˤʤ롥
+
+@item sleep([@var{sec}])
+
+@var{sec}äץμ¹Ԥߤ롥@var{sec}ά줿硤
+ץ@code{SIGALRM}ʤ¤ꡤʵפ˥꡼פ롥ºݤ˥
+꡼פÿ֤
+
+@item sprintf(@var{format}@dots{})
+
+@var{format}ʸC@samp{sprintf}Ʊ褦˲ᤷŸ
+ʸ֤᥽å@code{format}̾
+
+@var{format}ҤC@samp{sprintf}()դ(
+Rubyˤ unsignedʤΤǡ%uϽ)˲ä, %b, %B, %O, %XȤ
+ȤǤ롥%bϿͤ2ɽ%B, %O, %XϤ줾2ʡ8ʡ16ʿ
+ɽԤʤονκݤ2ɽǤϤʤɽ
+Ƭ@code{-}ĤΤɽ롥
+
+@item srand([@var{seed}])
+
+@var{seed}ꤷŤ֤ͤͤά줿ˤ
+@samp{time(3)}֤ͤǥեȤȤ롥
+
+@item sub(@var{pattern}[, @var{replace}])
+@itemx sub!(@var{pattern}[, @var{replace}])
+
+ƥѿ@code{$_}λؤʸǺǽ@var{pattern}˥ޥåʬ
+@var{replace}֤롥@var{replace} ά줿ˤϥ
+졼Ȥư֥åɾִ̤롥sub᥽åɤ
+@code{$_}ͤ򥳥ԡơԡ򹹿@code{$_}롥
+¾ξܺ٤˴ؤƤ@code{String}饹@code{sub}᥽åɤβ
+ȤΤȡ
+
+@code{sub!}@code{$_}λؤƤʸ󤽤ΤΤ񤭴롥
+
+@item syscall(@var{num}, @var{arg}@dots{})
+
+@var{num}ǻꤵ줿ֹΥƥॳ¹Ԥ롥2ʹߤ򥷥
+ƥॳΰȤϤʸޤǤʤФʤʤ
+
+@item system(@var{command})
+
+@var{command}¹Ԥ(֥ץstatus 0ǽλ)
+ˤϿ򡤼Ԥˤϵ֤λơѿ@code{$?} ǻ
+ȤǤ롥
+
+@item test(@var{cmd}, @var{file} [, @var{file}])
+
+եƥȤԤ@var{cmd}ϰʲ˼ʸƥǤ롥ե
+̾Ȥ@code{"&"}ꤹȡľΥեؤ@samp{stat(2)}η
+̤Ѥ롥
+
+
+1Ĥΰ
+
+@display
+?r ե¸ uid ɤळȤǤ
+?w ե˼¸ uid ǽ񤯤ȤǤ
+?x ե¸ uid Ǽ¹Ԥ뤳ȤǤ
+?o եνͭԤ¸ uid Ǥ
+
+?R ե uid ɤळȤǤ
+?W ե˼ uid ǽ񤯤ȤǤ
+?X ե uid Ǽ¹Ԥ뤳ȤǤ
+?O եνͭԤ uid Ǥ
+
+?e ե뤬¸ߤ
+
+?z ե륵 0 Ǥ
+?s ե륵 0 Ǥʤ(ե륵֤)
+
+?f եϥץ졼եǤ
+?d եϥǥ쥯ȥǤ
+?l եϥܥå󥯤Ǥ
+?p ե̾Ĥѥ(FIFO)Ǥ
+?S եϥåȤǤ
+?b եϥ֥åüեǤ
+?c եϥ饯üեǤ
+
+?u ե setuid ӥåȤåȤƤ
+?g ե setgid ӥåȤåȤƤ
+?k ե sticky ӥåȤåȤƤ
+
+?M ץȤμ¹Ԥ򳫻ϤǤΥեθŤ
+?A ץȤμ¹Ԥ򳫻ϤǤΥեΥ
+?C ץȤμ¹Ԥ򳫻ϤǤΥե inode ѹ
+@end display
+
+2Ĥΰ
+
+@display
+?= ե1ȥե2Υॹפ
+?> ե1ե2깹֤
+?< ե1ե2깹֤Ť
+?- ե1ե2˥ϡɥ󥯤Ƥ
+@end display
+
+@item trace_var(@var{var}, @var{command})
+
+@var{var}ǻꤵ줿ѿͤѹ줿ɾ
+@var{command}ꤹ롥@var{command}ʸ󡤤ޤϥ֥åǻꤹ
+롥trace뤿ˤ@code{untrace_var}Ѥ롥
+
+@item trap(@var{signal}, @var{command})
+@itemx trap(@var{signal}) @{@dots{}@}
+
+@var{signal}γߤä@var{command}¹Ԥ롥
+@var{signal}ϥʥ̾ʥֹ桥@var{command}ʸ󡤤ޤ
+ϥ֥åǻꤹ롥commandȤ@samp{"SIG_IGN"}ޤ
+@samp{"IGNORE"}ꤷˤϤΥʥ̵뤹(ǽʤ)
+@samp{"SIG_DFL"}ޤ@samp{"DEFAULT"}ꤷϥǥեȤư
+Ԥʤ@samp{"EXIT"}ꤷϥʥ(λԤ
+)exit status 1ǽλ롥
+
+@item untrace_var(@var{var})
+
+@var{var}ФƤtrace롥traceȤƻꤵƤ륪
+Ȥˤ֤
+
+@item wait
+
+ҥץλΤԤλҥץpid֤ҥץ
+Ĥʤ@code{nil}֤
+
+@item waitpid(@var{pid}, @var{flags})
+
+@var{pid}ǻꤵλҥץνλԤΥץλ
+˿֤ҥץ¸ߤʤΥ֥å󥰥⡼ɤǻ
+ץޤλƤʤˤ@code{nil}֤@samp{waitpid(2)}
+@samp{wait4(2)}μƤʤޥǤ@var{flags}ϤĤ@code{nil}ޤ
+0ǤʤФʤʤ
+@end ftable
+
+@node Ȥ߹ѿ, Ȥ߹ߥ饹ȥ⥸塼, Ȥ߹ߴؿ, Top
+@comment node-name, next, previous, up
+@chapter Ȥ߹ѿ
+@cindex{ȹѿ}
+
+@table @samp
+
+@item $!
+顼åfailꤹ롥
+
+@item $@@
+顼ȯΥե̾ȹֹ椬
+@example
+"ե:ֹ[:᥽å̾()]"
+@end display
+ηdzǼ롥
+
+@item $&
+Ǹѥޥå
+
+@item $`
+ǸΥѥޥåǥޥåʸʸ
+
+@item $'
+ǸΥѥޥåǥޥåʸθ³ʸ
+
+@item $+
+ǸθѥǥޥåǸγ
+
+@item $1@dots{}$9
+Ǹѥޥånܤγ̤˥ޥåͤǼ롥
+̤ʤ@code{nil}äƤ롥
+
+@item $~
+ǸΥޥå˴ؤ󡥤򥻥åȤ@code{$&}
+@samp{$1@dots{}$9}ͤѲ롥
+
+@item $=
+ѿͤ@code{nil}ǤʤѥޥåʸӤǥե٥
+Ȥʸʸ̤ʤǥեȤ@code{nil}(̤)
+
+@item $/
+ϥ쥳ɥѥ졼եʸФ@code{each}Ԥʤ
+ʬʸꤹ롥$/˶ʸ(@code{""})ꤹñ̤
+ϤԤʤ@code{nil}ꤹΤ٤ɤ߹ࡥ@code{$/}ˤ
+ɽϻȤʤǥեȤ@samp{"\n"}
+
+@item $\
+ϥ쥳ɥѥ졼ѿʸꤹ@code{write}
+@code{print}٤˺ǸˤʸղäƽϤ롥ǥեȤ
+@code{nil} (ʤˤɲäʤ)
+
+@item $,
+@code{Array:join}ΥǥեȤζڤʸ@code{print}γưδ
+˽Ϥʸ
+
+@item $;
+@code{String:split}ΥǥեȤζڤʸ
+
+@item $.
+Ǹɤϥեιֹ桥
+
+@item $<
+(ʤɸ)ǹ벾ۥե롥Ĥޤ@code{gets}
+@code{$<.gets}Ʊ̣Ǥ롥@code{$<.file}Ǹɤ߹Υե
+륪֥Ȥ@code{$<.filename}ǤΥե̾롥(Ф
+: @code{<}ϥϸ)
+
+@item $>
+@code{print}@code{printf}ΥǥեȤν补ͤ
+@code{$stdout}@samp{-i}ץꤷˤɤ߹߸Ʊ
+̾Υե롥(Ф: @code{>}ϥν)
+
+@item $_
+Ǹ@code{gets}ʤɤɤ߹ʸ
+
+@item $0
+rubyץȤ̾ѿ@samp{ps(1)}νϤѲ롥
+
+@item $*
+rubyץȤͿ줿rubyȤФϼƤ롥
+
+@item $$
+߼¹rubyץpid
+
+@item $?
+Ǹ˼¹Ԥҥץstatus
+
+@item $:
+եɤ˸ǥ쥯ȥؤΥѥޤ󡥵ư
+ˤϥǥե(ѥ˻ꤹ)˲äơĶѿ
+@var{RUBYLIB}ͤrubyư@samp{-I}ץǻꤵ줿ͤɲ
+롥(Ф: ϴĶѿ@var{PATH}ζڤʸǤ)
+
+@item $"
+@code{require}ǥɤ줿ե̾ޤ@code{require}Ʊ
+ե2ɤʤѤ롥(Ф: prevent files to
+be doubly quoted(loaded))
+
+@item $ARGF
+@code{$<}̾
+
+@item $ARGV
+@code{$*}̾
+
+@item $DEBUG
+@code{-d}ե饰ξ()
+
+@item $FILENAME
+ۥե@code{$<}Ǹɤ߹(᥽ågetsɤǤ)ե
+̾@code{$<.filename}Ʊ
+
+@item $KCODE
+߽оݤȤƤɤɽʸ@samp{"EUC"}
+@samp{"SJIS"}ޤ@samp{"NONE"}ѿͤѹɽΥޥ
+ľɽκƥѥ뤬Ԥ롥
+
+@item $LOAD_PATH
+@code{$:}̾
+
+@item $stdin
+
+@item $stdout
+
+@item $stderr
+ɸ२顼
+
+@item $VERBOSE
+@code{-v}ե饰ξ()
+
+@item TRUE
+@itemx FALSE
+줾쿿ͤɽ(@code{TRUE}ͤt@code{FALSE}ͤ@code{nil})
+ȽǤ@code{nil}򵶡ʳƤͤ򿿤ȤȽǤ뤿ᡤ
+@code{TRUE}ͤɽŪʿͤȤʾΰ̣ʤäơ
+᥽åɤͤǤȤȤȡ줬@code{TRUE}֤Ȥ
+Ȥϸ̩ˤƱǤϤʤ(ҸŪѤ᥽åɤ񿿤ͤȤ
+@code{TRUE}֤褦ˤϤʤäƤ뤬)Ĥޤ
+
+@example
+if some.method() then @dots{} else @dots{} end
+@end example
+
+
+
+@example
+if some.method() == TRUE then @dots{} else @dots{} end
+@end example
+
+ϴˤƱǤϤʤ@code{FALSE}˴ؤƤϡΤ褦
+
+@item STDIN
+ɸ($stdinν)
+@item STDOUT
+ɸ($stdoutν)
+@item STDERR
+ɸ२顼($stderrν)
+
+@item ENV
+Ķѿ˥Ϣʸ򥭡ȤͿбĶ
+ѿͤ롥Ķѿ¸ߤʤ@code{nil}֤롥
+
+@item VERSION
+rubyΥС򼨤ʸ
+@end table
+
+@node Ȥ߹ߥ饹ȥ⥸塼, CȤΥ󥿥ե, Ȥ߹ѿ, Top
+@comment node-name, next, previous, up
+@chapter Ȥ߹ߥ饹ȥ⥸塼
+
+@menu
+饹
+* Array::
+* Bignum::
+* Class::
+* Dir::
+* File::
+* Fixnum::
+* Float::
+* Hash::
+* Integer::
+* IO::
+* Kernel::
+* Module::
+* Nil::
+* Numeric::
+* Object::
+* Proc::
+* Range::
+* Regexp::
+* String::
+* Struct::
+* Time::
+
+⥸塼
+
+* Comparable::
+* Enumerable::
+* Etc::
+* FileTest::
+* GC::
+* Math::
+* Process::
+@end menu
+
+@node Array, Bignum, Ȥ߹ߥ饹ȥ⥸塼, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Array
+
+źȤΥ饹Ǥ롥ϰŪˤ``[@dots{}]''
+Ԥʤ롥
+
+SuperClass: Object
+
+Included Modules: Enumerable
+
+Methods:
+
+@ftable @code
+@item self[@var{nth}]
+@itemx self[@var{start}..@var{end}]
+@itemx self[@var{start}, @var{length}]
+
+Ǥ˥롥ǽηǤ@var{nth}ܤǤ
+2ܤηǤ@var{start}ܤǤ@var{end}ܤǤޤ
+ʬ֤3ܤηǤ@var{start}ܤ@var{length}Ĥ
+ޤʬ֤
+
+@item self[@var{nth}] = @var{val}
+@itemx self[@var{start}..@var{end}] = @var{val}
+@itemx self[@var{start}, @var{length}] = @var{val}
+
+Ǥѹ롥ǽηǤ@var{nth}ܤǤ
+@var{val}ѹ롥2ܤη@var{start}ܤǤ@var{end}
+ܤǤޤǤ@var{val}ѹ롥3ܤηǤ@var{start}ܤ
+@var{length}ĤǤ@var{val}ѹ롥
+
+2ܡ3ܤηǤ@var{val}ǤʤФʤʤ
+
+
+
+@example
+ary = [1, 2, 3, 4, 5]
+ary[0..2] = [0, 0] # Ƥ [0, 0, 4, 5]
+ary[1, 0] = [7] # Ƥ [0, 7, 0, 6, 5]
+@end example
+
+@item self + @var{other}
+
+Ϣ롥@code{self}@var{other}ξƤҤ
+
+@item self * @var{times}
+
+η֤
+
+@item self - @var{other}
+
+κ黻@code{self}@var{other}ǤƤο
+֤ʣǤ1٤롥
+
+@item self * @var{other}
+
+ѱ黻ξ˴ޤޤǤʤ뿷֤
+ʣǤ1٤롥
+
+@item self | @var{other}
+
+±黻ξˤ줫˴ޤޤǤƴޤ࿷
+֤ʣǤ1٤롥
+
+@item self << @var{obj}
+
+objɲä롥@code{self}֤Τ@code{C++}ŪϢǤ
+롥
+
+@item assoc(@var{key})
+
+Ϣۥꥹ(2ǤǤȤ)򸡺1Ǥ@var{key}
+ (@code{==}Ӥ)֤
+
+@item clear
+
+礭0ˤ롥
+
+@item delete(@var{val})
+
+@var{val}ȰפǤ롥
+
+@item delete_if @{@dots{}@}
+
+Ǥ륤ƥ졼֥åɾͤλбǤ
+󤫤롥
+
+@item each @{@dots{}@}
+
+γǤͿ륤ƥ졼
+
+@item fill(@var{val})
+@itemx fill(@var{val}, @var{start}[, @var{length}])
+@itemx fill(@var{val}, @var{start}..@var{end})
+
+(λꤵ줿ʬ)Ǥͤ@var{val}ꤹ롥2֤η
+@var{length}ά줿νޤǤĹȤ롥ꤵ줿ʬ
+󤬸ϰϤۤϼưŪ˳ĥ롥
+
+@item index(@var{val})
+
+@var{val}ǽǤΥǥå֤Ǥ¸ߤ
+ʤ@code{nil}֤
+
+@item indexes(@var{ary})
+@itemx indexes(@var{index_}1,@dots{}, @var{index_n})
+
+1ܤηǤȤƼơǤ򥤥ǥå
+Ǥޤ֤2ܤηǤϳưͤ򥤥ǥåȤ
+Ǥޤ֤
+
+@item join([@var{sep}])
+
+ǤϢ뤷ʸ֤ǤʸѴ졤֤
+@var{sep}򶴤Ϣ뤵롥@var{sep}ά줿ˤϥƥѿ
+@code{$,}ͤѤ롥
+
+@item length
+@itemx size
+
+Ĺ(ǿ)֤
+
+@item pack(@var{template})
+
+Ƥ@var{template}ʸˤäơ1Ĥʸ˥ѥå롥
+ѥåʸ֤ƥץ졼ȤϷʸȤĹ(ά
+1)¤٤ΤǤ롥ĹȤ@code{*}ꤵ줿ϡֻĤΥǡ
+ơפĹɽ
+
+ʸϰʲΤΤ롥
+
+@display
+a ASCIIʸ(nullʸͤ)
+A ASCIIʸ(ڡͤ)
+b ӥåȥȥ(̥ӥåȤ̥ӥå)
+B ӥåȥȥ(̥ӥåȤ鲼̥ӥå)
+h 16ʸ(̥˥֥뤬)
+H 16ʸ(̥˥֥뤬)
+c char
+C unsigned char
+s sort
+S unsigned sort
+i int
+I unsigned int
+l long
+L unsigned int
+n ͥåȥХȥshort
+N ͥåȥХȥlong
+f ñư(¸)
+d ư(¸)
+x ʥХ
+X 1Хȸ
+@@ а֤ؤΰư
+@end display
+
+@item pop
+
+Ǥơ֤
+
+@item push(@var{obj})
+
+@var{obj}ɲä롥
+
+@item rassoc(@var{value})
+
+Ϣۥꥹ(2ǤǤȤ)򸡺2Ǥ@var{value}
+(@code{==}Ӥ)֤
+
+@item shift
+
+ƬǤơ֤
+
+@item sort
+@itemx sort @{|@var{a}, @var{b}|@dots{}@}
+
+Ƥ򥽡Ȥ롥ƥ졼ȤƸƤӽФ줿ϥ֥åɾ
+ͤǤ羮ꤹ롥礭0
+顥̾Υ᥽åɤȤƸƤӽФ줿ϳǤ@code{<=>}Ӥ롥
+
+@item to_a
+
+ʬȤ֤оΤѰդƤ᥽åɤǤޤ򤯤ʤ
+
+@item unshift(@var{obj})
+
+@var{obj}Ƭɲä롥
+@end ftable
+
+Single Methods:
+
+@ftable @code
+@item Array[@var{item}@dots{}]
+
+ǤȤ롥
+@end ftable
+
+@xref{Object}
+@xref{Enumerable}
+
+@node Bignum, Class, Array, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Bignum
+
+̵¿ĹΥ饹黻η̤@code{Fixnum}ϰǤ
+ˤϼưŪ˥饹@code{Fixnum}Ѵ롥Ūrubyץ
+Ǥ@code{Fixnum}@code{Bignum}ѴϰۤΤ˹ԤΤǡ
+ɬפ̵@code{Float}Ȥκ˴ؤƤϡ@code{Bignum}
+@code{Float}genericity⤤Τˤؤ餺@code{Bignum}
+礭ͤɽǤΤǡѴ˷ǽ롥
+
+SuperClass: Integer
+
+Methods:
+
+@ftable @code
+@item self + @var{other}
+@itemx self - @var{other}
+@itemx self * @var{other}
+@itemx self / @var{other}
+@itemx self % @var{other}
+@itemx self ** @var{other}
+
+ѱ黻줾¡ѡ;Ѿ֤
+
+@item ~ self
+@itemx self | @var{other}
+@itemx self & @var{other}
+@itemx self ^ @var{other}
+
+ӥåȱ黻줾ӥåȿž¡ѡ¾Ū¤֤
+
+@item self << @var{bits}
+@itemx self >> @var{bits}
+
+եȱ黻줾@var{bits}ӥåȤ˥ӥåȥեȤԤʤ
+
+@item divmod(@var{other})
+
+Ⱦ;ʤ֤
+@end ftable
+
+@xref{Integer}
+
+@node Class, Comparable, Bignum, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Class
+
+饹Υ饹긷̩ȥ饹ðۥ᥽åɤѾ뤿
+ˡ줾᥿饹ȸƤФ̾Τʤ饹򥯥饹Ȥƻ
+@code{Class}ϤΥ᥿饹Υ饹Ǥ(ʬä?)β
+⤬ǤʤƤ⡤rubyȤȤ˲λپʤ饹ˤðۥ
+åɤǤȡѡ饹줿ðۥ᥽åɤϤΥ
+֥饹ǤͭǤΤнʬǤ롥
+
+SuperClass: Module
+
+Private Methods:
+
+@ftable @code
+@item attr(@var{name}[, @var{public}])
+
+Υ饹Υ󥹥󥹤Ф@var{name}ǻꤵ°롥
+ܤ@code{Module}@code{attr}᥽åɤι򻲾ȤΤȡ
+@end ftable
+
+Methods:
+
+@ftable @code
+@item new(@dots{})
+
+饹Υ󥹥󥹤롥¿ξ礳Υ᥽åɤϥ֥饹
+ۥ᥽åɤˤäƥС饤ɤ졤饹ˤäưۤʤ롥
+@end ftable
+
+@xref{Module}
+
+@node Comparable, Dir, Class, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Comparable
+
+ӱ黻饹Τ@code{Mixin}Υ⥸塼򥤥󥯥롼
+뤳Ȥˤäơ@code{<=>}黻Ҥ¾α黻ҤϤ
+ѤǤ롥
+
+Methods:
+
+@ftable @code
+@item self == @var{other}
+
+@code{self}@var{other}֤
+
+@item self > other
+
+@code{self}@var{other}礭֤
+
+@item self >= @var{other}
+
+@code{self}@var{other}礭֤
+
+@item self < @var{other}
+
+@code{self}@var{other}꾮֤
+
+@item self <= @var{other}
+
+@code{self}@var{other}꾮֤
+
+@item between?(min, max)
+
+@code{self}@var{min}@var{max}ϰˤ֤
+@end ftable
+
+@node Dir, Enumerable, Comparable, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Dir
+
+ǥ쥯ȥǤ֤ǥ쥯ȥꥹȥ꡼ΤΥ饹
+
+SuperClass: Object
+
+Included Modules: Enumerable
+
+Methods:
+
+@ftable @code
+
+@item close
+
+ǥ쥯ȥꥹȥ꡼򥯥롥ʸ㳰ȯ롥
+
+@item each @{|@var{item}|@dots{}@}
+
+ǥ쥯ȥγǤͿ륤ƥ졼
+
+@item getwd
+@itemx pwd
+
+ȥǥ쥯ȥ֤
+
+@item rewind
+
+ǥ쥯ȥꥹȥ꡼Ƭ˥ꥻåȤ롥
+
+@item seek(@var{pos})
+
+ǥ쥯ȥꥹȥ꡼ΰ֤@var{pos}ꤹ롥
+
+@item tell
+
+ǥ쥯ȥꥹȥ꡼θߤΰ֤֤
+
+Single Methods:
+
+@item self[@var{pat}]
+@itemx glob(@var{pat})
+
+ʸ@var{pat}@samp{sh}Υ磻ɥɤȤŸ̤ʸ
+Ȥ֤񼰤ϰʲ̤Ǥ롥
+
+@ftable @samp
+@item *
+Ǥդʸ(ʸޤ)Ȱ
+@item ?
+Ǥդ1ʸȰ
+@item [ ]
+[]Τ줫1ʸȰ
+@item {@dots{}}
+{}(ޤǶڤ줿)줫ʸȰ
+@end ftable
+
+@item chdir(@var{path})
+
+ȥǥ쥯ȥ@var{path}ѹ롥
+
+@item chroot(@var{path})
+
+ץΥ롼ȥǥ쥯ȥѹ롤Ʊ̾ΥƥॳƱƯ
+򤹤롥ϼ¸uidѥ桼Ǥ¤Ƥ롥
+롼ȥǥ쥯ȥ򸵤᤹(롼ȥǥ쥯ȥѹ)ˡ
+󶡤Ƥʤ
+
+@item mkdir(@var{path}[, @var{mode}])
+
+@var{mode}ǻꤵ줿⡼ɤĥǥ쥯ȥ@var{path}롥⡼
+ɤ@code{umask}ˤäƽ롥@var{mode}Υǥեͤ0777
+
+@item open(@var{path})
+
+@var{path}Фǥ쥯ȥꥹȥ꡼򥪡ץ󤹤롥
+
+@item rmdir(@var{path})
+
+@var{path}ǻꤵ줿ǥ쥯ȥ롥ǥ쥯ȥ϶Ǥɬ
+פ롥
+@end ftable
+
+@xref{Object}
+@xref{Enumerable}
+
+@node Enumerable, File, Dir, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Enumerable
+
+ǤФ뷫֤Ԥʤ饹Τ@code{Mixin}Υ⥸塼
+򥤥󥯥롼ɤ뤿ˤϡ᥽å@code{each}ɬפ롥
+
+Methods:
+
+@ftable @code
+
+@item collect @{|@var{item}|@dots{}@}
+
+ǤФƥ֥åɾ̤ƴޤ֤
+
+@item find @{|@var{item}|@dots{}@}
+
+ǤФƥ֥åɾͤˤʤäǽǤ֤
+
+@item find_all @{|@var{item}|@dots{}@}
+
+ǤФƥ֥åɾͤǤäǤƴޤ֤
+
+@item grep(pattern)
+@itemx grep(pattern) @{|@var{item}|@dots{}@}
+
+@code{ =~ @var{pattern}}ΩƤǤޤ֤
+졼ȤѤ줿Ͼ嵭ξΩǤФƥ֥å
+Ԥ롥
+
+@item member?(@var{val})
+
+@var{val}@code{==}δطˤǤĻ֤
+
+@item index(@var{val})
+
+@var{val}@code{==}δطˤ륪֥Ȥܤ˸줿֤
+ֺǽǤ0ˤʤ롥Ǥ¸ߤʤˤ@code{nil}֤
+Τʤ饹ФƤϤޤ̣ʤ
+
+@item length
+
+Ǥο֤
+
+@item min
+
+ǾǤ֤ƤǤߤ@code{<=>}᥽åɤӤǤ뤳
+ȤꤷƤ롥
+
+@item max
+
+Ǥ֤Ǥ@code{<=>}᥽åɤӤǤ뤳Ȥꤷ
+롥
+
+@item reverse
+
+ƤǤս¤٤֤
+
+@item sort
+@itemx sort @{|@var{a}, @var{b}|@dots{}@}
+
+ƤǤ򥽡Ȥ֤
+@end ftable
+
+@node File, FileTest, Enumerable, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section File
+
+ե륢ΤΥ饹᥽å@code{open}롥ޤ
+Υ饹ðۥ᥽åɤȤ@code{test}Υեƥȱ黻
+᥽åɤƤ(@code{FileTest}⥸塼Υ᥽åɷ)
+
+SuperClass: IO
+
+Methods:
+
+@ftable @code
+
+@item atime
+
+եκǽ֤
+
+@item ctime
+
+եκǽơѹ֤
+
+@item chmod(@var{mode})
+
+եΥѡߥåѹ(cf @samp{chmod(2)})
+
+@item chown(@var{owner}, @var{group})
+
+եνͭԤȥ롼פѹ(cf @samp{chown(2)})@code{nil}
+@code{-1}ꤹ뤳ȤˤäƽͭԤ䥰롼פ򸽺ߤΤޤѤʤ
+ȤǤ롥
+
+@item eof
+@itemx eof?
+
+եνüã˿֤
+
+@item lstat
+
+ե˴ؤ@code{Stat}¤Τ֤@code{lstat}ϥե뤬
+ܥå󥯤ǤХ󥯤ΤΤ˴ؤ@code{Stat}¤Τ֤
+¤ΤƤˤĤƤ@code{stat}򻲾ȤΤȡ
+
+@item mtime
+
+եκǽ֤
+
+@item rewind
+
+եΥեݥ󥿤ΰ֤Ƭ˰ư롥
+
+@item path
+
+եΥѥ֤̾
+
+@item seek(@var{offset}, @var{ptrname})
+
+եΥեݥ󥿤ΰ֤@var{offset}˰ư롥
+@var{ptrname}012Τ줫Ǥäơ줾եƬ
+֡եνüФ򼨤
+
+@item stat
+
+ե˴ؤ@code{Stat}¤Τ֤(@xref{Struct})
+
+@display
+struct stat
+ dev # ե¸ߤǥХ
+ ino # եi-nodeֹ
+ mode # ⡼
+ nlink # ϡɥ󥯤ο
+ uid # ͭԤΥ桼ID
+ gid # ͭԤΥ롼ID
+ rdev # ǥХID(ڥեΤ)
+ size # ե륵(byte)
+ blksize # ե륷ƥˤŬڤʥ֥å
+ blocks # ֥å
+ atime # ǽ
+ mtime # ǽ
+ ctime # ǽѹ
+end
+@end display
+
+ܺ٤@samp{stat(2)}򻲾ȤΤȡƥƤ
+@code{Stat}¤Τ˳Фʤ0ꤵƤ롥
+
+@item tell
+
+եθߤΥեݥ󥿤ΰ֤֤
+
+@item truncate(@var{length})
+
+եڤΤƤƺ@var{length}ХȤˤ롥ե
+@code{write}⡼ɤǥץ󤵤ƤʤФʤʤ
+
+Single Methods:
+
+@item atime(@var{filename})
+
+@var{filename}κǽ֤
+
+@item basename(@var{filename}[, @var{suffix}])
+
+@var{filename}κǸǤ֤@var{suffix}Ϳ줿ϡ
+ĥҤ
+
+@example
+basename("ruby/ruby.c")
+ @result{} "ruby.c"
+basename("ruby/ruby.c", ".c")
+ @result{} "ruby"
+@end example
+
+@item ctime(@var{filename})
+
+@var{filename}κǽơѹ֤
+
+@item chmod(@var{mode}, @var{path}, @var{file}@dots{})
+
+եΥѡߥåѹ(cf @samp{chmod(2)})ѹե
+
+@item chown(@var{owner}, @var{group}, @var{file}@dots{})
+
+եνͭԤȥ롼פѹ(cf @samp{chown(2)})@code{nil}
+@code{-1}ꤹ뤳ȤˤäƽͭԤ䥰롼פ򸽺ߤΤޤѤʤ
+ȤǤ롥ѹե֤
+
+@item dirname(@var{fname})
+
+ե̾κǸǰʳ֤
+
+@item expand_path(@var{path})
+
+ե̾ХѥŸ롥@samp{~}ϥۡǥ쥯ȥŸ
+롥
+
+@example
+expand_file_name("..")
+ @result{} "/home/matz/work"
+expand_file_name("~")
+ @result{} "/home/matz"
+expand_file_name("~matz")
+ @result{} "/home/matz"
+@end example
+
+@item link(@var{old}, @var{new})
+
+@var{old}ؤΥϡɥ@var{new}롥@samp{link(2)}Ʊ
+롥
+
+@item mtime(@var{filename})
+
+@var{filename}κǽ֤
+
+@item readlink(@var{path})
+
+ܥå@var{path}ƤʸȤ֤
+
+@item rename(@var{from}, @var{to})
+
+ե̾@var{from}@var{to}ѹ롥@samp{rename(2)}ȡ
+@var{to}Ȥ̾Υե뤬¸ߤˤϤޤΥե뤬
+롥
+
+@item stat(@var{filename})
+
+@var{filename}Υե@code{Stat}¤Τ֤
+
+@item symlink(@var{old}, @var{new})
+
+@var{old}ؤΥܥå@var{new}롥
+
+@item truncate(@var{path}, @var{length})
+
+@var{path}ǻꤵ줿եڤΤƤƺ@var{length}ХȤˤ롥
+
+@item type(@var{filename})
+
+@var{filename}ΥեΥפɽʸ֤ʸ
+@code{"file"}@code{"directory"}@code{"characterSpecial"}
+@code{"blockSpecial"}@code{"fifo"}@code{"link"}@code{"socket"}
+Τ줫ĤǤ롥
+
+@item unlink(@var{file}@dots{})
+
+ե롥ǥ쥯ȥκˤ@code{Dir.rmdir}Ȥȡ
+
+@item utime(@var{atime}, @var{mtime}, @var{file}@dots{})
+
+եΥ@var{atime}ˡ@var{mtime}ꤹ롥
+@var{atime}@var{mtime}Ͽޤ@code{Time}饹Υ󥹥󥹤Ǥ
+Фʤʤ
+@end ftable
+
+ʳ@code{FileTest}⥸塼Υ᥽åɤðۥ᥽åɤȤƻġ
+
+@xref{IO}
+
+@node FileTest, Fixnum, File, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section FileTest
+
+եƥѥ᥽åɤ򽸤᤿⥸塼롥󥯥롼ɤѤ뤳
+Ǥ롥Υ⥸塼Υ᥽åɤ˥ե̾Ȥ@code{"&"}ꤹ
+ȡľΥեؤ@samp{stat(2)}η̤Ѥ롥
+
+Methods:
+Single Methods:
+
+@ftable @code
+@item blockdev?(@var{filename})
+
+@var{filename}Υե뤬֥åڥեǤ֤
+
+@item chardev?(@var{filename})
+
+@var{filename}Υե뤬饯ڥեǤ
+
+
+@item executable?(@var{filename})
+
+@var{filename}Υե뤬¹Բǽλ֤
+
+@item executable_real?(@var{filename})
+
+@var{filename}Υե뤬uid/gidǼ¹Բǽλ֤
+
+@item exists?(@var{filename})
+
+@var{filename}Υե뤬¸ߤ֤
+
+@item grpowned?(@var{filename})
+
+@var{filename}Υեgid¸롼פgidƱ֤
+
+@item directory?(@var{filename})
+
+@var{filename}ǥ쥯ȥλ֤
+
+@item file?(@var{filename})
+
+@var{filename}Υե뤬̾եλ֤
+
+@item link?(@var{filename})
+
+@var{filename}Υե뤬ܥå󥯤Ǥ֤
+
+@item pipe?(@var{filename})
+
+@var{filename}Υե뤬̾Ĥѥ(@code{FIFO})Ǥ
+
+
+@item socket?(@var{filename})
+
+@var{filename}Υե뤬åȤǤ֤
+
+@item owned?(@var{filename})
+
+@var{filename}Υե¸桼ͭƤ֤
+
+@item readable?(@var{filename})
+
+@var{filename}ΥեɤߤȤǽλ֤
+
+@item readable_real?(@var{filename})
+
+@var{filename}Υեuid/gidɤߤȤǽλ֤
+
+@item setuid?(@var{filename})
+
+@var{filename}ΥեsetuidӥåȤåȤƤ֤
+
+@item setgid?(@var{filename})
+
+@var{filename}ΥեsetgidӥåȤåȤƤ֤
+
+@item size(@var{filename})
+
+@var{filename}Υե뤬¸ߤե礭֤¸ߤ
+@code{nil}֤
+
+@item sticky?(@var{filename})
+
+@var{filename}ΥեstickyӥåȤåȤƤ֤
+
+@item symlink?(@var{filename})
+
+@var{filename}ܥå󥯤Ǥ֤
+
+@item writable?(@var{filename})
+
+@var{filename}Υե뤬uid/gidǽ񤭹߲ǽλ֤
+
+@item writable_real?(@var{filename})
+
+@var{filename}Υե뤬񤭹߲ǽλ֤
+
+@item zero?(@var{filename})
+
+@var{filename}Υե뤬¸ߤ礭0Ǥ֤
+@end ftable
+
+@node Fixnum, Float, FileTest, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Fixnum
+
+31bit(ޥlongĹ-1 bit)Υ饹builtin classǤ롥
+饹pointer¨ͤǤ뤿call by valueǸƤӽФħŪ
+Ǥ(¾Υ饹call by reference)黻η̤31bitۤ
+ϼưŪ@code{Bignum}(̵¿Ĺ)˳ĥ롥
+
+ƥ졼@code{upto}@code{downto}@code{step}Ϸ֤Τ
+졤̤@code{Range}饹Ѥ®Ǥ롥
+
+SuperClass: Integer
+
+Methods:
+
+@ftable @code
+@item self + @var{other}
+@itemx self - @var{other}
+@itemx self * @var{other}
+@itemx self / @var{other}
+@itemx self % @var{other}
+@itemx self ** @var{other}
+
+ѱ黻줾¡ѡ;Ѿ֤
+
+@item ~ self
+@itemx self | @var{other}
+@itemx self & @var{other}
+@itemx self ^ @var{other}
+
+ӥåȱ黻줾ӥåȿž¡ѡ¾Ū¤֤
+
+@item self << @var{bits}
+@itemx self >> @var{bits}
+
+եȱ黻줾@var{bits}ӥåȤ˥ӥåȥեȤԤʤ
+
+@item downto(@var{min}) @{@dots{}@}
+
+ƥ졼@code{self}@var{min}ޤDz˷֤
+
+@item id2name
+
+ͤIDȤߤʤơʸ֤ʸ¸ߤ
+@code{nil}֤
+
+@item step(@var{max}, @var{step}) @{@dots{}@}
+
+ƥ졼@code{self}@var{max}ޤ@var{step}Ѳʤ顤
+
+@item to_f
+
+@code{self}@code{Float}ѴΤ֤
+
+@item to_i
+
+@code{self}򤽤Τޤ֤
+
+@item upto(@var{max}) @{@dots{}@}
+
+ƥ졼@code{self}@var{max}ޤǷ֤
+@end ftable
+
+@xref{Integer}
+
+@node Float, GC, Fixnum, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Float
+
+ưΥ饹
+
+SuperClass: Numeric
+
+Methods:
+
+@ftable @code
+@item self + @var{other}
+@itemx self - @var{other}
+@itemx self * @var{other}
+@itemx self / @var{other}
+@itemx self % @var{other}
+@itemx self ** @var{other}
+
+ѱ黻줾¡ѡ;Ѿ֤
+
+@item self == @var{other}
+@itemx self > @var{other}
+
+ӱ黻
+
+@item coerce(@var{num})
+
+@var{num}@code{Float}Ѵ롥@code{Float}
+¾ο@code{Fixnum}@code{Bignum}Ǥ롥
+
+@item to_f
+
+@code{self}򤽤Τޤ֤
+
+@item to_i
+
+@code{self}Ѵ̤֤
+@end ftable
+
+Single Methods:
+
+@ftable @code
+@item new(@var{float})
+
+@var{float}ƱͤĿ@code{Float}֥Ȥ֤
+@end ftable
+
+@xref{Numeric}
+
+@node GC, Hash, Float, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section GC
+
+RubyȤ߹ߤgarbage collectorԤʤΥ⥸塼롥Υ
+塼Υ᥽åɤѤ뤳ȤˤäơŪGCߤ᤿ꡤGCε
+륿ߥ󥰤椷Ǥ롥
+
+Methods:
+
+@ftable @code
+@item garbage_collect
+
+GC򳫻Ϥ롥@code{GC.start}Ʊ
+@end ftable
+
+Single Methods:
+
+@ftable @code
+@item disable
+
+GCػߤ롥
+
+@item enable
+
+GCĤ롥
+
+@item start
+
+GC򳫻Ϥ롥
+@end ftable
+
+@node Hash, Integer, GC, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Hash
+
+Ϣ󤢤뤤ϥϥåɽǤդΥ֥ȤźȤǤΥ
+Ǥ롥Ϣ󥪥֥ȤϰŪˤϢ
+
+@display
+{a=>b,@dots{}}
+@end display
+
+ǹԤʤ롥
+
+ȤͿ֥ȤƤѲ᥽å@code{hash}֤
+ͤѤ@code{Hash}ưʤ(ͤФʤʤ)
+ˤä@code{hash}ͤѲ륯饹(Ȥ@code{Array},
+@code{Hash}ʤ)Υ󥹥󥹤ϥ˸ʤƤ
+@code{hash}ͤ˱ƶ륪֥ȤΤʸ̤˰
+롥ʸ򥭡ȤͿȡʸ򥳥ԡԡ򹹿ԲĤ
+ꤷǡȤƻѤ롥äơʸ򹹿Ƥ⥭ʸ
+Ѳʤ@code{each}, @code{each_key}, @code{keys}ʤɤΥ᥽
+ɤȤʸ֤ʸϹǤʤ(㳰ȯ)
+
+SuperClass: Object
+
+Included Modules: Enumerable
+
+Methods:
+
+@ftable @code
+@item self [@var{key}]
+
+@var{key}򥭡Ȥ֤ͤ
+
+@item self [@var{key}]= @var{value}
+
+@var{key}򥭡Ȥơ@var{value}Ǽ롥@var{value}Ȥ
+@code{nil}ꤹȤ@var{key}ФܤκȤʤ롥Ĥޤꡤ
+@code{Hash}ͤȤ@code{nil}ĤȤϤǤʤ
+
+@item clear
+
+Ϣˤ롥
+
+@item delete(@var{key})
+
+@var{key}򥭡ȤȤ롥
+
+@item delete_if @{|@var{item}|@dots{}@}
+
+Ǥ륤ƥ졼@code{[key,value]}ȤͿơ֥
+ɾͤλܤ롥
+
+@item each @{|@var{key}, @var{value}|@dots{}@}
+@itemx each_pair @{|@var{key}, @var{value}|@dots{}@}
+
+@code{[key,value]}ʤ2ǤͿ륤ƥ졼
+
+@item each_key @{|@var{key}|@dots{}@}
+
+ƤkeyФƷ֤ƥ졼
+
+@item each_value @{|@var{value}|@dots{}@}
+
+ƤvalueФƷ֤ƥ졼
+
+@item has_key?(@var{key})
+
+@var{key}򥭡ȤȤϢ¸ߤ֤
+
+@item has_value?(@var{value})
+
+@var{value}ͤȤȤϢ¸ߤ֤
+
+@item indexes(@var{ary})
+@itemx indexes(@var{key_}1,@dots{}, @var{key_n})
+
+1ܤηǤȤƼơǤ򥭡ȤǤޤ
+֤2ܤηǤϳưͤ򥭡ȤǤޤ֤
+
+@item keys
+
+Ϣ¸ߤ륭Ƥޤ֤
+@item length
+@itemx size
+
+ϢǤο֤
+
+@item shift
+
+ϢǤļФ()@code{[key,value]}ʤ2
+
+@item to_a
+
+Ϣ@code{key-value}2ǤǤȤ֤
+
+@item values
+
+Ϣ¸ߤƤޤ֤
+@end ftable
+
+Single Methods:
+
+@ftable @code
+@item Hash[@var{key}, @var{value}@dots{}]
+
+ܤΰ@var{key}ܤΰ@var{value}ȤϢ
+롥
+
+@item new
+
+()Ϣ󥪥֥Ȥ֤
+@end ftable
+
+@xref{Object}
+@xref{Enumerable}
+
+@node Integer, IO, Hash, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Integer
+
+饹ºݤϤ礭ˤä@code{Fixnum}@code{Bignum}
+ĤΥ֥饹Ǽ¸Ƥ롥@code{Integer}ϤΥѡ饹
+Ȥʤݥ饹Ǥ롥RubyǤϤۤȤɤξ硤@code{Fixnum}
+@code{Bignum}ζ̤ɬפʤߤѴϼưŪ˹Ԥʤ롥
+ӥåȤߤʤˤϡ̵¤Ĺĥӥåȹͤƹʤ
+
+SuperClass: Numeric
+
+Methods:
+
+@ftable @code
+@item self[@var{idx}]
+
+@var{idx}ӥåܤåȤƤ1åȤƤʤ0
+
+@item chr
+
+ο򥳡ɤȤʸޤ1ʸʸ֤̤Ĺ1ʾ
+ʸˤĤơδطΩ롥
+
+@example
+str[0].chr == str[0,1]
+@end example
+
+ʸϰ(0@dots{}255)ˤʤ㳰ȯ롥
+
+@item integer?
+
+Ĥ⿿֤
+@end ftable
+
+@xref{Numeric}
+
+@node IO, Kernel, Integer, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section IO
+
+ϤΤδܥ饹
+
+SuperClass: Object
+
+Included Modules: Enumerable
+
+Methods:
+
+@ftable @code
+@item self << @var{object}
+
+@var{object}Ϥ롥@var{object}ʸǤʤˤϥ᥽å
+@code{to_s}ѤʸѴ롥@code{self}ͤȤΤǡ
+@code{C++}Τ褦@code{<<}ϢȤ롥
+
+
+
+@example
+$stdout << 1 << " is a " << Fixnum << "\n"
+@end example
+
+@item close
+
+ϥݡȤ򥯥롥ʸΤΥ֥ȤФ
+顼ˤʤ롥
+
+@item closed?
+
+ݡȤƤ֤
+
+@item each @{|@var{line}|@dots{}@}
+@item each_line @{|@var{line}|@dots{}@}
+
+Ԥɤ߹Ǥ뤿Υƥ졼Ԥζڤϥƥѿ
+@code{$/}ˤäѹǤ롥ɤ߹ʸϥƥѿ@code{$_}
+⥻åȤ롥
+
+@itemx each_byte @{|@var{ch}|@dots{}@}
+
+ʸɤ߹Ǥ뤿Υƥ졼ʸʸɤɽ
+@code{Fixnum}Ǥ롥
+
+@item fileno
+@itemx to_i
+
+@code{IO}֥ȤȤäƤեǥץ(@code{Fixnum})
+
+@item flush
+
+Хåեեå夹롥
+
+@item getc
+
+ɤ߹ǡɤ߹ߤˤϤʸ֤եν
+ãˤ@code{nil}֤ͥ᥽å@code{getc}
+@code{$stdin.getc}Ʊ̣Ǥ롥
+
+@item gets
+
+ɤ߹ǡɤ߹ߤˤϤʸ֤եν
+ãˤ@code{nil}֤
+
+@item isatty
+@itemx tty?
+
+ϥݡȤttyǤ֤
+
+@item print(@var{arg}@dots{})
+
+˽Ϥ롥褬@code{$>}Ǥʤ쥷ФǤʳ
+@code{Kernel}饹@code{print}᥽åɤƱư򤹤롥
+
+@item printf(@var{format}, @var{arg}@dots{})
+
+@code{C}@code{printf()}Ʊ@var{format}˽ʸ
+쥷Ф˽Ϥ롥
+
+@item puts(@var{obj})
+
+@var{obj}Ϥ롥@code{self << obj}Ʊ̣Ǥ롥
+
+@item read([@var{length}])
+
+@var{length}Хɤ߹ǡʸ֤@var{length}ά
+ˤϡ@code{EOF}ޤǤƤΥǡɤ߹ࡥ
+
+@item readlines
+
+եɤ߹dzƹԤǤȤƤ֤
+
+@item sync
+
+ߤνƱ⡼ɤ򿿵֤ͤƱ⡼ɤλϽϴؿθƽ
+˥Хåեեå夵롥
+
+@item sync= @var{newstate}
+
+Ʊ⡼ɤꤹ롥
+
+@item sysread(@var{length})
+
+@samp{stdio}ͳ@samp{read(2)}ѤϤԤʤϤ줿
+ǡޤʸ֤եνãˤ@code{nil}
+@samp{read(2)}ˤɬ@var{length}ХȤʸɤ߹
+櫓ǤϤʤ@code{gets}@code{getc}ʤ@samp{stdio}ͳ
+åɤȺѤ뤳ȤϥХåե󥰤ʤɤǻפư򤹤뤳
+롥
+
+@item syswrite(@var{str})
+
+@samp{stdio}ͳˡ@samp{write(2)}ѤƽϤԤʤΥ
+åɤϥХåե󥰤ʤ@samp{stdio}Ƥ뤳ȤϰڹԤʤʤ
+@code{syswrite}ϼºݤ˽񤭹Хȿ֤@code{print}
+@code{printf}@code{syswrite}ѤΤϿ侩Ǥʤ
+
+@item write(@var{str})
+
+@var{str}Ϥ롥ϤХȿ֤
+@end ftable
+
+@xref{Object}
+@xref{Enumerable}
+
+@node Kernel, Math, IO, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Kernel
+
+ƤΥ饹δ쥯饹RubyȤ߹ߤƤδؿ᥽åɤϤΥ饹
+Ƥ롥ؿ᥽åɤˤĤƤϡִؿפιܤ򻲾ȤΤȡ
+
+SuperClass: ʤ
+
+Methods:
+
+@ftable @code
+@item self == @var{other}
+@itemx equal?(@var{other})
+
+֥ȤΰȽꡥ쥷ФȰΰפ֤
+@code{Kernel}饹ǤΥ֥ȤƱλ֤
+@code{==}᥽åɤϳƥ֥Ȥ˱ƺɬפ롥
+@code{==}᥽åɤˤϡ@code{hash}᥽åɤ⤽˹碌
+ƺɬפ롥
+
+equal?᥽åɤ@code{==}᥽åɤ̾ǡ@code{==}Ǥ
+֥ȤƱȽԤʤѤ롥ä@code{equal?}
+᥽åɤϥ֥饹Ǻ٤ǤϤʤ
+
+@item self =~ @var{other}
+
+ޥåǥեȤư@code{==}ƱǤ롥@code{=~}
+@code{case}ʸǤӤˤѤ롥
+
+@item hash
+
+֥ȤΥϥå(@code{Fixnum})֤@code{Hash}饹ǥ
+Ȥʤ륪֥ȤǼΤѤƤ.@code{A == B}Ω
+ɬ@code{A.hash == B.hash}ΩɬפΤǡ@code{==}
+ˤɬ⤽˹碌ƺ뤳ȡ
+
+@item id
+
+ƥ֥ȤФưդ@code{Fixnum}֤@code{Fixnum}ϼ
+ʬȤ֤Τǡ@code{id}פƤƱ֥ȤǤ뤳Ȥ
+ڤʤĤޤꡤ@code{obj1.id == obj2.id}ΩƤ⡤ɤ餫
+@code{Fixnum}ǤС@code{obj1}@code{obj2}ƱǤȤϸ¤
+ξ@code{Fixnum}ǤʤȤݾڤǤС2ĤΥ֥
+ȤƱǤ뤳Ȥϳμ¤Ǥ롥
+
+@item inspect
+
+֥Ȥʹ֤ɤʸѴ롥
+
+@item nil?
+
+֥Ȥ@code{nil}Ǥ뤫ɤ@code{Kernel}饹Ǥ
+֤@code{Nil}饹ǵ֤褦Ƥ롥
+
+
+@item type
+
+֥ȤưŪʷ(饹)֤
+
+@example
+obj.is_kind_of?(obj.type)
+@end example
+
+ϾΩ롥
+
+@item send(@var{symbol}[, @var{args}@dots{}])
+
+@var{symbol}ǻꤵ᥽åɤ@var{args}ȤȤ˸ƤӽФ
+
+@end ftable
+
+@node Math, Module, Kernel, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Math
+
+ư黻򥵥ݡȤ륯饹Math⥸塼ƱΥ᥽å
+ðۥ᥽åɤȤξƤΤǡðۥ᥽åɤƤӽФƻ
+Ȥȡ饹˥󥯥롼ɤƻȤȤȤξǤ롥
+
+
+
+@example
+pi = Math.atan2(1, 1) * 4;
+include Math
+pi2 = atan2(1, 1)
+@end example
+
+Methods:
+Single Methods:
+
+@ftable @code
+@item atan2(@var{x}, @var{y})
+
+С-ФϰϤ@var{x}/@var{y}Υ󥸥Ȥ֤
+
+@item cos(@var{x})
+@itemx sin(@var{x})
+@itemx tan(@var{x})
+
+饸ɽ줿@var{x}λѴؿ֤ͤ
+
+@item exp(@var{x})
+
+@var{x}λؿؿ֤ͤ
+
+@item log(@var{x})
+
+@var{x}μп֤
+
+@item log10(@var{x})
+
+@var{x}ξп֤
+
+@item sqrt(@var{x})
+
+@var{x}ʿ֤@var{x}ͤǤˤ㳰ȯ롥
+
+@item cbrt(@var{x})
+
+@var{x}Ω֤
+@end ftable
+
+@node Module, Nil, Math, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Module
+
+⥸塼Υ饹
+
+SuperClass: Object
+
+Private Methods:
+
+@ftable @code
+@item attr(@var{name}[, @var{public}])
+
+Υ⥸塼򥤥󥯥롼ɤ饹Υ󥹥󥹤Ф@var{name}
+ǻꤵ°ղä°Ф륢᥽åɤ롥
+@code{attr("attr")}ϥ饹˰ʲ˼ɤɲäΤȤۤƱ
+Ǥ롥
+
+@example
+def attr; @@attr; end
+@end example
+
+άǽ2@var{public}ͿơĤͤ@code{nil}Ǥ
+ˤϤ°ˤ°᥽åɤѰդ졤ǽˤʤ롥
+
+@code{attr("attr", TRUE)}ϥ饹˰ʲΥɤɲäΤȤۤ
+ƱǤ롥
+
+@example
+def attr; @@attr; end
+def attr=(val); @@attr = val; end
+@end example
+
+°᥽åɤ뤳Ȥˤäơưѹ
+Ǥ롥㤨
+
+@example
+attr("test", TRUE)
+def test=(val)
+ print("test was ", @@test, "\n")
+ print("and now is ", @@test = val, "\n")
+end
+@end example
+
+Τ褦°ͤɽ褦ʤȤǽǤ롥@var{attr}
+᥽åɤǤƤϡǥեȤΥ᥽
+ɤʤ
+@end ftable
+
+Methods:
+
+@ftable @code
+@item include(@var{module}@dots{})
+
+ǻꤷ⥸塼򥤥󥯥롼ɤơ᥽åɡɲä롥
+饹⥸塼̤Υ⥸塼򥤥󥯥롼ɤ뤳Ȥˤäơ
+줿¿ŷѾ(@code{Mixin})¸Ǥ롥
+
+@item module_function(@var{name}@dots{})
+
+@var{name}ǻꤵ줿᥽åɤ@samp{module function}˻ꤹ롥
+@samp{Module function}Ȥϥ⥸塼ðۥ᥽åɤǤꡤĤΥ⥸塼
+򥤥󥯥롼ɤ饹private᥽åɤˤʤ褦ʥ᥽åɤλ
+Ǥ롥㤨СMath⥸塼δؿ@samp{module function}Ǥ롥
+
+@item private(@var{name}@dots{})
+
+@var{name}ǻꤵ줿᥽åɤؿǤƤӽФǽˤ롥
+private᥽åɤǤˤϲ⤷ʤ
+
+@item public(@var{name}@dots{})
+
+@var{name}ǻꤵ줿᥽åɤ̾ǸƤӽФǽˤ롥Ǥ
+public᥽åɤǤˤϲ⤷ʤ
+
+@example
+def foo() 1 end
+foo
+ @result{} 1
+self.foo
+ @result{} 1
+
+def bar() 2 end
+private :bar
+bar
+ @result{} 2
+self.bar
+ @error{} method `bar' not available for "main"(Object)
+
+Module Baz
+ def baz() 3 end
+ module_function :baz
+end
+Baz.baz
+ @result{} 3
+include Baz
+baz
+ @result{} 3
+self.baz
+ @error{} method `baz' not available for "main"(Object)
+@end example
+
+@item to_s
+
+⥸塼ʸɽǤ⥸塼֤̾
+@end ftable
+
+@xref{Object}
+
+@node Nil, Numeric, Module, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Nil
+
+ɽ֥@code{nil}Υ饹ѿ()@code{nil}
+@code{Nil}饹ͣΥ󥹥󥹤Ǥ롥
+
+SuperClass: Kernel
+
+Methods:
+
+@ftable @code
+@item self + @var{other}
+
+@var{other}ưʸǤ@var{other}
+
+
+@item nil?
+
+˿֤
+@end ftable
+
+@xref{Kernel}
+
+@node Numeric, Object, Nil, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Numeric
+
+̤ɽݥ饹
+
+SuperClass: Object
+
+Included Modules: Comparable
+
+Methods:
+
+@ftable @code
+@item + self
+
+֥@code{self}ΤΤ֤
+
+@item - self
+
+@code{0 - self}֤֥ͤ饹ǤΨŪ˺뤳Ȥ
+Ԥ롥
+
+@item abs
+
+֤ͤ
+
+@item divmod(@var{other})
+
+Ⱦ;2Ǥ֤
+
+@item next
+
+ο֤οȤϤοۤǾǤ롥
+@end ftable
+
+@xref{Object}
+@xref{Comparable}
+
+@node Object, Proc, Numeric, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Object
+
+Ƥ̾說饹Υѥ饹̾說饹Υ󥹥󥹤ΰŪʿ
+Ƥ롥Υ饹Υ֥饹Ǥʤ饹@code{Kernel}
+@code{Nil}Ǥ롥
+
+SuperClass: Kernel
+
+Methods:
+
+@ftable @code
+@item extened(module@dots{})
+
+ǻꤷ⥸塼@code{self}˥󥯥롼ɤ롥⥸塼
+Ƥ᥽åɤðۥ᥽åɤȤɲä롥
+
+@item initialize(@dots{})
+
+@code{Class:new}饪֥Ȥ˼ưŪ˸ƤӽФ롥ǥե
+Ȥϲ⤷ʤ֥饹ɬפ˱ƺ뤳Ȥ
+Ƥ롥@code{Class:new}Ϳ줿ΤޤϤ롥
+
+@item is_instance_of?(@var{class})
+
+֥@code{self}饹@var{class}Υ󥹥󥹤Ǥ
+֤@code{obj.is_instance_of?(c)}ΩĤ
+@code{obj.is_kind_of?(c)}Ω롥
+
+@item is_kind_of?(@var{class})
+
+֥@code{self}饹@var{class}Υ֥饹Υ󥹥
+Ǥ֤
+
+@item clone
+@item dup
+
+֥Ȥʣ롥󥹥󥹤¨ͤǤFixnum饹ʳΥ
+饹ξ硤@code{obj.equal?(obj.clone)}ϵǤ뤬¿ξ
+@code{obj == obj.clone}ϿǤ롥
+
+String饹ʳǤ(ä˺ʤ¤)dupclone̾Ǥ롥
+
+@item to_s
+
+֥Ȥʸɽ֤Υ᥽åɤŪprintformat
+åɤѤƤ롥
+
+@item to_a
+
+֥ȤѴ롥@code{Kernel}饹Ƥǥե
+ȤϡΥ֥ȼȤޤ1Ǥ֤
+@end ftable
+
+@xref{Kernel}
+
+@node Proc, Process, Object, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Proc
+
+ƥ졼Ϥ줿ƥ졼֥å³Ȥƥ֥Ȳ
+Ρ¹Ԥ륳ɤǤʤƥ(ѿ)ʤɤ¸롥
+֥å֥Ȥϡ@code{call}᥽åɤˤäơ줿ΤƱ
+Ķɾ뤳ȤǤ롥æ(@code{return},
+@code{break}, @code{continue}, @code{redo}, @code{retry})δĶ¸
+ʤΤǡ֥å֥ȤæФμ¹Ԥ㳰ȯ
+뤳Ȥˤʤ롥
+
+SuperClass: Object
+
+Methods:
+
+@ftable @code
+@item call(@var{arg}[,@dots{}])
+
+֥å¹Ԥ롥
+@end ftable
+
+Single Methods:
+
+@ftable @code
+@item new
+
+֥å롥@code{yield}¹ԤǤǤΥ᥽åɤ
+ƤФȡλǼ¹Ԥ٤ɤ򥳥ƥȤȤȤ߹
+֥(@code{Proc})롥
+@end ftable
+
+@xref{Object}
+
+@node Process, Range, Proc, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Process
+
+ץ˴ؤԤʤΥ⥸塼롥@code{Math}⥸塼
+ƱͤƤΥ᥽åɤðۥ᥽åɤȤƤ̾Υ᥽åɤȤƤȤ롥
+@code{Process}ϥץ֥ȤΥ饹ǤϤʤơץ
+᥽åɤޤȤ᤿ΤǤ뤳Ȥդ뤳ȡ
+
+Methods:
+Single Methods:
+
+@ftable @code
+@item egid
+
+ץθߤμ¸GID֤
+
+@item egid= @var{gid}
+
+ץθߤμ¸GID@var{gid}˥åȤ롥
+
+@item euid
+
+ץθߤμ¸UID֤
+
+@item euid= @var{uid}
+
+ץθߤμ¸UID@var{uid}˥åȤ롥
+
+@item getpgrp([@var{pid}])
+
+@var{pid}ǻꤵ줿ץ߽°Ƥץ롼פid
+֤@var{pid}ά@var{pid}0Ϳϸ߼¹ԤƤ
+ץоݤˤ롥
+
+@item getpriority(@var{which}, @var{who})
+
+@var{which}@var{who}ǻꤵץץ롼ס桼
+ߤ̤֤ͥܺ٤@samp{getpriority(2)}򻲾ȡProcess⥸塼
+ǤwhichȤƻǤ@var{PRIO_PROCESS}@var{PRIO_PGRP}
+@var{PRIO_USER}Ƥ롥
+
+@item gid
+
+ץθߤμGID֤
+
+@item gid= @var{gid}
+
+ץθߤμGIDgid˥åȤ.
+
+@item pid
+
+ץΥץID֤ϥƥѿ@code{$$}ͤƱǤ
+롥
+
+@item ppid
+
+ƥץΥץΥץID֤UNIXǤľܤοƥץλ
+硤ƥץpid1(initpid)ˤʤ롥
+
+@item setpgrp(@var{pid}, @var{pgrp})
+
+@var{pid}ǻꤵ줿ץΥץ롼פ@var{pgrp}ˤ롥
+@var{pid}0Ϳȸ߼¹Υץоݤˤ롥
+
+@item setpriority(@var{which}, @var{who}, @var{prio})
+
+@var{which}@var{who}ǻꤵץץ롼ס桼
+ߤ̤ͥ@var{prio}ꤹ롥ܺ٤@samp{setpriority(2)}
+ȤΤȡ
+
+@item uid
+
+ץθߤμUID֤
+
+@item uid= @var{uid}
+
+ץθߤμUID@var{uid}˥åȤ.
+@end ftable
+
+@node Range, Regexp, Process, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Range
+
+ϰϥ֥ȤΥ饹ϰϥ֥Ȥ@code{..}黻Ҥˤä
+졤ŪˤϰʲΤ褦ʻȤ򤹤
+
+@example
+for i in 1..5
+ @dots{}
+end
+@end example
+
+ξϰʲ®.
+
+@example
+1.upto(5) {
+ @dots{}
+}
+@end example
+
+ϰϥ֥Ȥ@code{..}黻Ҥξդ@code{Comparable}
+९饹Υ󥹥󥹤ǤвǤ⹽ʤϰϤϻȽޤळ
+Ȥդ뤳.
+
+SuperClass: Object
+
+Included Modules: Enumerable
+
+Methods:
+
+@ftable @code
+@item self =~ @var{other}
+
+@code{self}@var{other}Ʊ饹Фϰϥ֥Ȥǡ
+@var{other}(@code{start <= @var{other} <= end})
+@code{case}ϰϻꤹǤ롥㤨
+
+@example
+case i
+when 1, 3..5
+ @dots{}
+end case
+@end example
+
+Τ褦ʥɤ񤯤ȤǤ롥
+
+@item each
+
+ϰ¸ߤ륪֥ȤͿ륤ƥ졼@code{for}Τ
+Ѥ롥
+
+@item end
+
+ϰϤν֤
+
+@item start
+
+ϰϤλ֤
+@end ftable
+
+@xref{Object}
+@xref{Enumerable}
+
+@node Regexp, String, Range, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Regexp
+
+ɽΥ饹ɽΥƥ@code{/@dots{}/}Ȥɽ
+ưŪ뤿ˤ
+
+@example
+Regexp.new(ʸ)
+@end example
+
+Ȥ롥String饹@code{=~}ϤȤ¿Υ᥽åɤ
+ɽؤʸͿ줿ˤŪɽΤǡ
+Ȥ󤷤Ȼפ䡤ɽʸʸζ̤Ū
+˻ꤷʤɰʳŪȻפȤϾʤϤ
+
+SuperClass: Object
+
+Methods:
+
+@ftable @code
+@item self =~ @var{string}
+
+ɽʸ˥ޥå硤ޥå֤֤ޥåʤ
+@code{nil}֤
+
+@item ~ self
+
+@code{$_ =~ self}Ʊ
+@end ftable
+
+Single Methods:
+
+@ftable @code
+@item compile(@var{string}[, @var{casefold}])
+@itemx new(@var{string}[, @var{casefold}])
+
+ʸɽѴ֥Ȥ֤άǽ2Ϳ
+졤ͤ@code{nil}Ǥʤˤϡ줿ɽ֥Ȥ
+ƥѿ@code{$=}ͤ˴ؤ餺ޥåʸʸΰ㤤
+̵뤹롥
+
+@item quote(@var{str})
+
+ʸɽǰ̣ʸ򥨥פ롥ʸ
+
+@end ftable
+
+@xref{Object}
+
+@node String, Struct, Regexp, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section String
+
+ʸ󥯥饹Rubyʸϥ̥륿ߥ͡ȤǤϤʤΤǡХʥǡ
+ⰷ롥äƤɤ餫ȤñʤʸȤХǤ롥
+λۤ˴Ťơɽ˴ؤ᥽åɰʳ2byteϤʸռ
+ƤʤϺԤμȴǤϤʤտŪˤƤΤǤ(
+Ƥ)
+
+String饹Υ᥽åɤΤ@code{!}ǽΤϥ쥷Ф񤭴롥
+Ʊ̾@code{!}̵Τϥ쥷ФΥԡäƤ顤
+롥@code{!}ΤΤ®ͽ̷̤򾷤䤹
+ǡ̵ΤǤ롥
+
+@example
+f = "string"
+print f, sub("str", "ski"), f
+ @result{} string, skiing, string
+print f, sub!("str", "ski"), f
+ @result{} skiing, skiing, skiing
+@end example
+
+SuperClass: Object
+
+Included Modules: Comparable, Enumerable
+
+Methods:
+
+@ftable @code
+@item self + @var{other}
+
+ʸϢ롥Ϣ뤵줿ʸ֤
+
+@item self * @var{times}
+
+ʸη֤㤨@code{x" * 4 == "xxxx"}Ǥ롥
+
+@item self == @var{other}
+@item self > @var{other}
+
+ʸӡƥѿ@code{$=}@code{nil}Ǥʤˤʸʸ
+̤ӤԤʤ
+
+@item self =~ @var{other}
+
+ʸΥޥå@var{other}ɽʸ@var{other}ʸξ
+ˤưŪɽѴ롥ޥåϥޥå֡
+ä@code{nil}֤롥
+
+@item ~ self
+
+@code{$_ =~ self}Ʊ
+
+@item self[@var{nth}]
+@item self[@var{beg}..@var{end}]
+@item self[@var{beg}, @var{len}]
+
+ƤμФ1ܤηǤ@var{nth}ХܤΥǡFixnumȤ
+֤2ܤηǤ@var{beg}Хܤ@var{end}ХܤޤǤʬ
+ʸ֤(ξüޤ)3ܤηǤ@var{beg}Хܤ
+@var{len}Хʬʬʸ֤
+
+@item self[@var{nth}] = @var{val}
+@item self[@var{beg}..@var{end}] = @var{val}
+@item self[@var{beg}, @var{len}] = @var{val}
+
+Ƥι1ܤηǤ@var{nth}ХܤΥǡ@var{val}()
+ѹ롥2ܤη@var{beg}Хܤ@var{end}ХܤޤǤ
+ʬʸ@var{val}ȤͿ줿ʸ֤롥3ܤη
+@var{beg}Хܤ@var{len}Хʬʬʸ@var{val}ȤͿ
+줿ʸ֤롥
+
+@item capitalize
+@itemx capitalize!
+
+ʸκǽʸ(줬ե٥åȤǤ)ʸѴ
+ĤʸΥե٥åȤʸ֤롥
+
+@item chop
+@itemx chop!
+
+ʸκǸΥХȤڤȤʸѹ뤳Ȥդ뤳
+ȡ@code{chop!}ϸʸ򹹿롥
+
+@item crypt(@var{salt})
+
+@samp{crypt(3)}ѤưŹ沽ʸ֤@var{salt}2ХȰʾ
+ĹǤդʸǤ롥
+
+@item delete(@var{str})
+@itemx delete!(@var{str})
+
+ʸΤ@var{str}˴ޤޤʸ롥ʸλ
+@code{tr}ƱͤǤꡤ@code{a-b}@code{a}@code{b}ޤǤϰϤ
+Ƭ@code{^}ʸ(ޤޤƤʤΤ)̣롥
+
+@item dup
+
+@code{self}ƱƤʸ롥@code{clone}
+@code{freeze}֤⥳ԡ뤬@code{dup}Ƥʸ
+롥
+
+@item downcase
+@itemx downcase!
+
+ʸΥե٥åȤƾʸ֤ʸ֤
+@code{tr("A-Z", "a-z")}꾯®
+
+@item each @{|@var{char}|@dots{}@}
+@itemx each_byte @{|@var{char}|@dots{}@}
+
+ʸΤ줾ΥХȤˤĤƷ֤ƥ졼
+
+@item each_line @{|@var{line}|@dots{}@}
+
+ʸ󤫤1Ԥɤ߹Ǥ륤ƥ졼
+
+@item freeze
+
+ʸ򹹿ԲĤˤ롥ٹԲĤꤵ줿ʸƤѹ
+Ȥ㳰ȯ롥
+
+@item gsub(@var{pattern}, @var{replace})
+@itemx gsub(@var{pattern}) @{@dots{}@}
+@itemx gsub!(@var{pattern}, @var{replace})
+@itemx gsub!(@var{pattern}) @{@dots{}@}
+
+ʸ@var{pattern}˥ޥåʬ@var{replace}֤롥
+ִʸ@var{replace}@samp{&}@samp{\0}ϥޥåʸˡ
+@samp{\1@dots{}\9}nܤγ̤Ƥ֤롥
+@var{replace}ά줿ˤϥƥ졼Ȥư֥åɾ
+ִ̤롥
+
+@code{gsub}ִ줿ʸ֤(ִԤʤʤäϸʸ
+֤)@code{gsub!}ִԤʤ줿ˤоݤȤʤʸ
+Ԥʤʤäˤ@code{nil}֤
+
+@item hex
+
+ʸ16ʿɽʸȲᤷơѴ롥
+
+@item index(@var{substr}[, @var{pos}])
+
+@var{substr}ǽ˽и֤֤@var{pos}ͿȤΰ֤
+鸡򳫻Ϥ롥Ĥʤˤ@code{nil}֤
+
+@item intern
+
+ʸ˰դб֤ʸϥʥʸޤǤϤʤʤ
+
+@item length
+@itemx size
+
+ʸĹ(Хȿ)֤
+
+@item ljust(@var{width})
+@itemx rjust(@var{width})
+@itemx center(@var{width})
+
+ʸ򤽤줾졤ͤᡤͤᡤ󤻤@var{width}ʸ
+֤ʸĹ@var{width}Ĺϸʸ֤ڤͤ
+
+
+@item next
+
+@code{self}ΡּΡʸ֤ʸȤϿϿȤơ
+ʸϱʸȤä夬νԤʤ줿ΤǤ롥
+
+@example
+"aa".next @result{} "ab"
+"99".next @result{} "100"
+"a9".next @result{} "b0"
+@end example
+
+@item oct
+
+ʸ8ʿɽʸȲᤷơѴ롥8ʿ
+@code{/[0-7]+/}ǤꡤʸƬ餳Υѥ˥ޥåʬ
+Ѵ롥ƤϤޤʤʸФƤ0֤
+perlȤϰäʸ0xϤޤäƤ뤫Ȥä 16ʿȸʤ
+Ƥ줿ϤʤƬ08ʿǧ졤0֤
+
+@item reverse
+@itemx reverse!
+
+ʸγƥХȤս¤٤ʸ֤ʸ2ХȤǹ
+ʸޤǤƤ⤪ʤ˥Хñ̤ȿž롥@code{split}2
+Хʸ򤹤Τǡ2Хʸޤʸʸñ̤ȿž
+
+@example
+"ʸ".split(//).reverse.join("")
+@end example
+
+ȤФ褤
+
+@item rindex(@var{substr}[, @var{pos}])
+
+ʸ@var{substr}Ǹ˽и֤֤@var{pos}ͿȤ
+֤Ǹλ롥Ĥʤˤ@code{nil}֤@code{index}
+
+@itemize
+@item
+ʸ鸡롥
+@item
+substrȤɽդʤ
+@end itemize
+
+2Ǥ롥
+
+@item split([@var{sep}[, @var{limit}]])
+
+ʸ@var{sep}ǻꤵ줿ѥˤäơեɤʬ䤹롥
+@var{sep}ά줿ΥǥեȤϥƥѿ@code{$;}ͤѤ
+롥@var{limit}ꤵ줿ˤϺ@var{limit}ĤΥեɤʬ
+롥s@code{plit}ʬ䤵줿ʸޤ֤@var{sep}ǻ
+줿ѥ󤬶ʸȥޥåʸ1ʸĤʬ䤵
+롥
+
+@item squeeze([@var{str}])
+@itemx squeeze!([@var{str}])
+
+ʸΤ@var{str}˴ޤޤʸϢ³Ƥ硤ʸ˰
+롥@var{str}ά줿硤٤ƤʸоݤȤ롥ʸλ
+trƱͤǤꡤ@code{a-b}@code{a}@code{b}ޤǤϰϤƬ
+@code{^}ʸ(ޤޤƤʤΤ)̣롥
+
+@item strip
+@itemx strip!
+
+ʸζ
+
+@item sub(@var{pattern}, @var{replace})
+@itemx sub(@var{pattern}) @{@dots{}@}
+@itemx sub!(@var{pattern}, @var{replace})
+@itemx sub!(@var{pattern}) @{@dots{}@}
+
+ʸ@var{pattern}˥ޥåǽʬ@var{replace}֤롥
+ִʸ@var{replace}@samp{&}@samp{\0}ϥޥåʸˡ
+@samp{\1@dots{}\9} nܤγ̤Ƥ֤롥
+@var{replace}Τʤλˤϥƥ졼Ȥư֥åɾ
+ִ̤롥
+
+@code{sub}ִ줿ʸ֤(ִԤʤʤäϸʸ
+֤)@code{sub!}ִԤʤ줿ˤоݤȤʤʸ򡤹
+ʤʤäˤ@code{nil}֤
+
+@item sum([@var{bits}])
+
+ʸ@var{bits}ӥåȤΥå롥άͤ16Ǥ롥ruby
+ϰʲΥɤSystem V@code{sum}ץƱͤ롥
+
+@example
+while gets()
+ sum += $_.sum
+end
+sum %= 65536
+@end example
+
+@item swapcase
+@itemx swapcase!
+
+ʸΥե٥åȤΤʸʸˡʸʸ֤
+롥
+
+@item to_f
+
+ʸFloatѴ롥
+
+@item to_i
+
+ʸ10ʿɽʸȲᤷơѴ롥
+
+@item tr(@var{search}, @var{replace})
+@itemx tr!(@var{search}, @var{replace})
+
+ʸ@var{search}ʸ˴ޤޤʸ¸ߤС
+@var{replace}ʸбʸ֤롥@var{replace}ʸ󤬾
+ά줿϶ʸͿ줿ȸʤ@var{replace}ʸ
+@var{search}ʸû@var{replace}ʸκǸʸ
+֤Ƥȸʤ@var{search}ʸûˤбʸ
+ʤ@var{replace}ñ̵뤵(BSD@samp{tr}ư)
+
+@var{search}ʸ@var{replace}ʸ@code{a-b}Ȥ
+硤@code{a}@code{b}ޤǤϰϤʸASCIIξǻꤷ
+Ȥˤʤ롥ޤ@var{search}ʸκǽʸ@code{^}Ǥ硤
+³ʸ*ޤޤʤ*ʸִоݤˤʤ롥
+
+@samp{tr(1)}εǽΤʸ뵡ǽϢ³ʸ򰵽̤뵡
+ǽ̤Υ᥽åɤʬ䤵Ƥ롥εǽˤĤƤ@code{delete}
+@code{squeeze}򻲾ȤΤȡ
+
+ؤΤᡤ@code{str.tr(src,repl).squeeze(repl)}᥽å
+@code{tr_s(src,repl)}󶡤Ƥ롥
+
+@item unpack(@var{template})
+
+ʸ@var{template}ʸˤäƥѥåǤ
+֤@var{template}ʸArray饹pack᥽åɤȤۤƱ
+ͤǤ롥
+
+@display
+a ASCIIʸ(³nullʸ䥹ڡĤ)
+A ASCIIʸ(³nullʸ䥹ڡ)
+b ӥåȥȥ(̥ӥåȤ̥ӥå)
+B ӥåȥȥ(̥ӥåȤ鲼̥ӥå)
+h 16ʸ(̥˥֥뤬)
+H 16ʸ(̥˥֥뤬)
+c char
+C unsigned char
+s sort
+S unsigned sort
+i int
+I unsigned int
+l long
+L unsigned int
+n ͥåȥХȥshort
+N ͥåȥХȥlong
+f ñư(¸)
+d ư(¸)
+x 1ХɤФ
+X 1Хȸ
+@@ а֤ؤΰư
+@end display
+
+ruby@code{unpack}perlȰäƥåη׻ǽʤȤ
+դ뤳ȡ
+
+
+@item upcase
+@itemx upcase!
+
+ʸΥե٥åȤʸ֤ʸ֤
+@code{tr("a-z", "A-Z")}꾯®
+
+@item upto(@var{end}) @{@dots{}@}
+
+@code{self}Ϥޤäơ@var{end}ޤǡּΡʸͿ륤ƥ졼
+ʸȤ@code{str.next}ͿʸǤ롥
+
+Υ᥽åɤ@code{Range:each}ѤƤΤǡʲΤ褦ʽ
+ǽǤ롥
+
+@example
+for i in "a" .. "ba"
+ print(i, "\n");
+end
+@end example
+
+@samp{a, b, c,@dots{}aa,@dots{}az, ba}ޤǤƹԤ˽Ϥ롥
+@end ftable
+
+Single Methods:
+
+@ftable @code
+@item new(@var{string})
+
+@var{string}ƱƤĿʸ֤
+@end ftable
+
+@xref{Object}
+@xref{Enumerable}
+@xref{Comparable}
+
+@node Struct, Time, String, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Struct
+
+¤Υ饹Υ饹Υ֥饹ʣΥǡޤȤѤ
+(: @code{Time:times})ǡޤȤˤ󥯥饹Ѥ
+뤳Ȥ⤢뤬(: @code{select})¤ΤȤ٤ϰʲΤ褦
+Ǥ롥@code{Struct:new}@code{Struct}Υ֥饹򿷤
+ơ֤¤ΤϤΥ֥饹Υ󥹥󥹤Ȥʤ롥
+
+@enumerate
+@item
+Ǥο
+
+ǤοưΤϹ¤ΤȤΤˤϸʤ
+
+@item
+Ǥο¿
+
+ʹ֤٤ưפ˰복ǰο7ĤޤǤǤȤ⤬롥
+˽СǤ4İʾ夢ǡξѤ硤ǿ
+2(ĤޤꥪեåȤȤΰ̣)7ۤ롥äơΤ褦
+ˤϹ¤ΤȤä򤷤䤹Ȼפ롥
+
+@item
+Ʊ̤ʤ
+
+¤Τ㴳Ȥ⤤Τǡ®٤ˤʤ (㤨
+Ʊ̤ʤ)Ϲ¤ΤλѤŬڤǤʤǽ
+롥
+@end enumerate
+
+ƹ¤Τˤϥ̾Ʊ̾ΰΤʤ᥽åɤ롥
+
+ܥɥǡ¤Τɽ뤿ˤϰʲηȤ
+
+@display
+struct ¤̾
+ @dots{}
+end
+@end display
+
+ץǤηǹ¤Τ櫓ǤϤʤ
+
+SuperClass: Object
+
+Included Modules: Enumerable
+
+Methods:
+
+@ftable @code
+@item self[@var{idx}]
+
+@var{idx}λ@var{idx}ܤǤ֤
+
+@item values
+@itemx to_a
+
+¤ΤΥФͤǤ˻֤㤨аʲΥɤǼʬ
+passwdȥϤ뤳ȤǤ롥
+
+@example
+print(Etc.getpwuid().values.join(":"), "\n")
+@end example
+
+νϤ@samp{grep "$USER" /etc/passwd}νϤ;ʬʥեɤ
+Ĥ(ƥˤäưۤʤ)ʳƱǤ롥
+@end ftable
+
+Single Methods:
+
+@ftable @code
+@item new(@var{name}, @var{member}@dots{})
+
+@var{name}Ȥ̾ŤΤΥ饹롥@var{member_value}
+Ϲ¤ΤΥФɽʸǤ롥줿¤Υ饹ˤϥФ
+ꤵ줿̾Υ᥽åɤƤơΥ᥽åɤˤäƥФ
+Ƥ뤳ȤǤ롥
+@end ftable
+
+Single Methods for subclasses:
+
+@ftable @code
+@item new(@var{value}@dots{})
+
+¤Υ饹Υ󥹥󥹤롥@var{value}Ϲ¤ΤΥФ
+Ǥ롥Фο¤Υ饹줿Ȱۤʤˤ㳰ȯ
+롥
+@end ftable
+
+@xref{Object}
+@xref{Enumerable}
+
+@node Time, , Struct, Ȥ߹ߥ饹ȥ⥸塼
+@comment node-name, next, previous, up
+@section Time
+
+֤ɽ饹羮ӤʤɤǤ롥@code{Time.now}Ǹߤλ֤
+뤳ȤǤ롥ޤեΥॹפ᥽åɤͤ
+Υ饹Υ󥹥󥹤Ǥ롥
+
+SuperClass: Object
+
+Included Modules: Comparable
+
+Methods:
+
+@ftable @code
+@item self <=> @var{other}
+
+@var{other}TimeΥ󥹥󥹤Ϳ줿ˤ
+@samp{1970ǯ1 1 00:00:00 GMT}ÿǤȤƻȤӤ
+Ԥʤ
+
+@item asctime
+@itemx ctime
+@itemx to_s
+
+@samp{date(1)}ʸѴ롥
+
+@item gmtime
+
+ॾνԤʤʤGMTǤλ롥Υ᥽åɤȤ
+Time饹Υ󥹥󥹤ϡʸλѴGMTǹԤʤ
+@code{gmtime}ϼʬȤ֤
+
+ɥλɽˤ@code{print(Time.now.gmtime, "\n")}Ȥ
+Ф褤
+
+@item localtime
+
+ॾνԤʤä(ǥե)@code{localtime}
+ʬȤ֤
+
+@item to_i
+@itemx tv_sec
+
+@samp{1970ǯ 1 1 00:00:00 GMT}ޤǤÿ֤
+secondʬǤ⤢롥
+
+@item sec
+@itemx min
+@itemx hour
+@itemx mday
+@itemx year
+@itemx wday
+@itemx yday
+@itemx zone
+@itemx isdst
+
+ŪݻƤ@code{tm}¤ΤƤ֤@code{zone}ʳ
+֤@code{zone}ϥॾɽʸ֤(cf
+@samp{localtime(3)})
+
+@item strftime(@var{format})
+
+@var{format}ʸ˽äʸѴ̤֤
+@var{format}ʸȤƻǤΤ ʲ̤Ǥ롥
+
+@display
+%A ̾(Sunday, Monday@dots{})
+%a ξά̾(Sun, Mon@dots{})
+%B ̾(January, February@dots{})
+%b ξά̾(Jan, Feb@dots{})
+%c ɽ(cf @samp{ctime(3)})
+%d ʿǤ(01-31)
+%H 24λ(00-23)
+%I 12λ(01-12)
+%j ǯ̻(001-366)
+%M ʬ(00-59)
+%m ɽ(01-12)
+%p ޤϸ(AM,PM)
+%S (00-61)
+%U ɽǽ1
+ Ϥޤ(00-53)
+%W ɽǽη1
+ Ϥޤ(00-53)
+%w ɽ0(0-6)
+%X (: 15:01:06)
+%x (: Fri Jan 14 1994)
+%Y ɽ
+%y β2(00-99)
+%Z ॾ
+%% %
+@end display
+
+@item usec
+@itemx tv_usec
+
+micro secondʬ֤
+@end ftable
+
+Single Methods:
+
+@ftable @code
+@item now
+
+ߤλɽ@code{Time}饹Υ󥹥󥹤롥
+
+@item at(@var{time})
+
+@var{time}Ʊɽ@code{Time}饹Υ󥹥󥹤롥
+@var{time}@code{Time}饹Υ󥹥󥹤뤤Ͽ(/ư
+)Ǥꡤξ@samp{1970ǯ 1 1 00:00:00 GMT}ÿ
+Ȥƻ׻롥
+
+@item times
+
+ߤΥץȤλҥץ񤷤桼/ƥCPUѻ
+¤ΤȤ֤(@xref{Struct})
+
+@display
+struct tms
+ utime # ץΥ桼
+ stime # ץΥƥ
+ cutime # ҥץΥ桼
+ cstime # ҥץΥƥ
+end
+@end display
+
+֤ñ̤äǤꡤưͿ롥ܺ٤@samp{times(3)}
+򻲾ȤΤȡ
+@end ftable
+
+@xref{Object}
+@xref{Comparable}
+
+@node CȤΥ󥿥ե, ռ, Ȥ߹ߥ饹ȥ⥸塼, Top
+@comment node-name, next, previous, up
+@chapter CȤΥ󥿥ե
+
+rubyCȤΥ󥿡ե󶡤C줫Υ饹⥸塼
+CǵҤ᥽åɤrubyΥ᥽åɤθƤӽФ
+졼θƤӽФ㳰ʤɤԤʤȤ롥ޤOSм
+ԻCǽ񤫤줿⥸塼ɤ뤳Ȥ롥
+
+Ūʥ󥿥ե˴ؤƤϡ̥ɥ(źեե C-IF)
+ȤΤȡ
+
+@node ռ, ʸˡ, CȤΥ󥿥ե, Top
+@comment node-name, next, previous, up
+@chapter ռ
+
+RubyθͤϿ¿θαƶƤ롥ʲˤΤϤμ
+ʸǤ롥
+
+ C, Perl, CLU, Sather, CLOS, Eiffel, Icon, tcl, AWK, bourne shell,
+ Smalltalk, Emacs Lisp.
+
+ޤrubyθͤꤹ뤿˶ϤƲäʲˤ롥
+
+ ͷƣϺ¼Σţáغܣģţá
+ ʤֺ.ٻ(ɾά)
+
+@node ʸˡ, Variables Index, ռ, Top
+@comment node-name, next, previous, up
+@chapter ʸˡ
+
+ʲϵBNFǵҤrubyʸˡǤ롥ΤʵҤparse.y򻲾
+줿
+
+@example
+PROGRAM : COMPEXPR
+
+COMPEXPR : EXPR (TERM EXPR)* [TERM]
+
+EXPR : MLHS `=' ARGS
+ | return ARGS
+ | fail ARGS
+ | yield ARGS
+ | defined? ARG
+ | identifier CALL_ARGS0
+ | PRIMARY `.' identifier CALL_ARGS0
+ | super CALL_ARGS
+ | undef FNAME
+ | alias FNAME FNAME
+ | include identifier (`,' identifier)*
+ | EXPR if EXPR
+ | EXPR while EXPR
+ | EXPR and EXPR
+ | EXPR or EXPR
+ | ASSOCS
+ | ARG
+
+ARG : LHS `=' ARG
+ | LHS OP_ASGN ARG
+ | ARG `..' ARG
+ | ARG `...' ARG
+ | ARG `+' ARG
+ | ARG `-' ARG
+ | ARG `*' ARG
+ | ARG `/' ARG
+ | ARG `%' ARG
+ | ARG `**' ARG
+ | `+' ARG
+ | `-' ARG
+ | ARG `|' ARG
+ | ARG `^' ARG
+ | ARG `&' ARG
+ | ARG `<=>' ARG
+ | ARG `>' ARG
+ | ARG `>=' ARG
+ | ARG `<' ARG
+ | ARG `<=' ARG
+ | ARG `==' ARG
+ | ARG `!=' ARG
+ | ARG `=~' ARG
+ | ARG `!~' ARG
+ | `!' ARG
+ | `~' ARG
+ | ARG `<<' ARG
+ | ARG `>>' ARG
+ | ARG `&&' ARG
+ | ARG `||' ARG
+ | ARG `::' identifier
+ | PRIMARY
+
+PRIMARY : `(' COMPEXPR `)'
+ | LITERAL
+ | VARIABLE
+ | super `(' [CALL_ARGS] `)'
+ | super
+ | PRIMARY `[' [ARGS] `]'
+ | `[' [ARGS [`,']] `]'
+ | `@{' [ (ARGS|ASSOCS) [`,'] ] `@}'
+ | redo
+ | break
+ | continue
+ | retry
+ | return
+ | fail [`(' [ARGS] `)']
+ | yield [`(' [ARGS] `)']
+ | defined? `(' ARG `)'
+ | PRIMARY `@{' [`|' [ITER_VAR] `|'] COMPEXPR `@}'
+ | OPERATION `(' [CALL_ARGS] `)'
+ | PRIMARY `.' OPERATION `(' [CALL_ARGS] `)'
+ | PRIMARY `.' OPERATION
+ | if EXPR THEN
+ COMPEXPR
+ (elsif EXPR THEN COMPEXPR)*
+ [else COMPEXPR]
+ end
+ | while EXPR TERM COMPEXPR end
+ | case COMPEXPR
+ (when ARGS THEN)+
+ [else COMPEXPR]
+ end
+ | for ITER_VAR in EXPR TERM
+ COMPEXPR
+ end
+ | begin
+ COMPEXPR
+ [rescue COMPEXPR]
+ [ensure COMPEXPR]
+ end
+ | class identifier `:' identifier
+ COMPEXPR
+ end
+ | module identifier
+ COMPEXPR
+ end
+ | def FNAME ARGLIST
+ COMPEXPR
+ end
+ | def SINGLETON `.' FNAME ARGLIST
+ COMPEXPR
+ end
+
+THEN : TERM
+ | then
+ | TERM then
+
+ITER_VAR : LHS
+ | MLHS
+
+MLHS : LHS `,' [LHS (`,' LHS)*] [`*' LHS]
+
+LHS : VARIABLE
+ | PRIMARY `[' [ARGS] `]'
+ | PRIMARY `.' identifier
+
+CALL_ARGS : ARGS
+ | ASSOCS
+ | ARGS [`,' ASSOCS] [`,' `*' ARG]
+ | `*' ARG
+
+ARGS : ARG (`,' ARG)*
+
+ARGLIST : `('[identifier(`,'identifier)*][`*'identifier]`)'
+ | TERM
+
+SINGLETON : VARIABLE
+ | `(' EXPR `)'
+
+ASSOCS : ASSOC (`,' ASSOC)*
+
+ASSOC : ARG `=>' ARG
+
+VARIABLE : VARNAME
+ | nil
+ | self
+ | `__FILE__'
+ | `__LINE__'
+
+LITERAL : numeric
+ | SYMBOL
+ | STRING
+ | REGEXP
+
+TERM : `;'
+ | `\n'
+
+@end example
+
+겼ϻǧ롥
+
+@example
+
+SYMBOL : `:'FNAME
+ | `:'VARNAME
+
+FNAME : identifier | `..' | `|' | `^' | `&'
+ | `<=>' | `==' | `=~' | `>' | `>=' | `<' | `<='
+ | `<<' | `>>' | `+' | `-' | `*' | `/' | `%' | `**'
+ | `~' | `+@@' | `-@@' | `[]' | `[]='
+
+OPERATION : identifier
+ | identifier'!'
+ | identifier'?'
+
+VARNAME : GLOBAL
+ | `@@'identifier
+ | identifier
+
+GLOBAL : `$'identifier
+ | `$'any_char
+
+STRING : `"' any_char* `"'
+ | `'' any_char* `''
+ | ``' any_char* ``'
+
+REGEXP : `/' any_char* `/'[i]
+
+@end example
+
+@node Variables Index, Concept Index, Function Index, Top
+@comment node-name, next, previous, up
+@unnumbered Variable Index
+
+@printindex vr
+
+@node Concept Index, Function Index , Variables Index, Top
+@comment node-name, next, previous, up
+@unnumbered Concept Index
+
+@printindex cp
+
+@node Function Index, Top , Concept Index, Top
+@comment node-name, next, previous, up
+@unnumbered Function Index
+
+@printindex fn
+
+@summarycontents
+@contents
+@bye
+
+Local variables:
+fill-column: 70
+end: