summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorYukihiro Matsumoto <matz@ruby-lang.org>1994-10-13 12:13:48 +0900
committerTakashi Kokubun <takashikkbn@gmail.com>2019-08-17 22:09:30 +0900
commiteed5c920dd5429bac6075e9bc98d82360392b424 (patch)
tree825427093bc27339080dbbcaebc1563703bae357 /spec
parent6e3090413652b6592346556149fed1e9aec5495d (diff)
version 0.51v0_51
https://cache.ruby-lang.org/pub/ruby/1.0/ruby-0.51.tar.gz Thu Oct 13 12:13:48 1994 Yukihiro Matsumoto (matz@ix-02) * eval.c(SETUP_ARGS): 付加演算子が配列でない時には配列に変換する. * parse.y: 括弧なしのメソッド呼び出しでも`*'による付加引数が使える ようにした. ただし, 通常引数が一つもない場合は乗算演算子と区別が つかないので, 必ず括弧が必要. Wed Oct 12 10:09:07 1994 Yukihiro Matsumoto (matz@ix-02) * eval.c(rb_call): キャッシュの計算をinline化. キャッシュミスがあ れば関数呼び出しでメソッドを検索する. methods.cはなくなった. * eval.c(rb_eval): ローカル変数用の領域をalloca()するように変更. サイズの変更が必要になれば改めてmalloc()するように. * parse.y: error recoveryの際にlex_stateを更新しておくように. Tue Oct 11 17:10:46 1994 Yukihiro Matsumoto (matz@ix-02) * socket.c(for_fd): ファイル記述子(Fixnum)からソケットインスタンス を得るメソッド. たとえばinetdから起動されたサーバで標準入出力に ソケット操作を行なうために使う. つまりSocket.for_fd($stdin)で標 準入力に対応するソケットオブジェクトが得られる. * io.c(to_i): IOクラスのインスタンスを整数に変換するとそのファイル 記述子を返すように. * numeric.c(num2int): to_iメソッドを使って, できる限り整数に変換す る. 以前はnum2fixだけが全てのオブジェクトに対してto_iメソッドを 適用していた. * sprintf.c(Fsprintf): 整数表示の際, オブジェクトをできる限り整数 に変換するように(to_iメソッドを使う). Fri Oct 7 14:06:32 1994 Yukihiro Matsumoto (matz@ix-02) * eval.c(Fcaller): 必要性がよく分からないのでドキュメントから削除. 将来デバッガを作る時に復活させよう. * eval.c(rb_call): Cで記述されたメソッド呼び出しでは環境をスタック にセーブしないことによって高速化. Wed Oct 5 15:00:58 1994 Yukihiro Matsumoto (matz@ix-02) * ruby.h: 一時env.hに移動してたQselfの定義を復活. ただし今回は関数 として実現(env.hでは変数として再定義してある). * ruby.h: TRUEでsyntax errorにならないよう#undefを追加. * eval.c(rb_eval): thread化に挑戦したが, 失敗(速くならなかった). が, Scopingなどの無駄なコードの削除とメソッド呼び出しの引数セッ トのinline化で若干の高速化を実現した. 副作用として, argc, argv形 式の関数呼び出しの仕様が変化した(argvにselfを含まなくなった). * eval.c(rb_call): メソッド呼び出しの高速化. Tue Oct 4 11:40:53 1994 Yukihiro Matsumoto (matz@ix-02) * ruby-mode.el: 修飾子に対応した. * parse.y: 多重代入にrestをつけた. この機能を使えばoptional引数の 解析が簡単にできる(はず). * pack.c(unpack): uuencode形式のdecodeの際に文字列の長さが間違って いた. Mon Oct 3 15:58:41 1994 Yukihiro Matsumoto (matz@ix-02) * file.c(type): ファイルタイプを文字列で返すメソッド. Fri Sep 30 11:36:07 1994 Yukihiro Matsumoto (matz@ix-02) * object.c: デフォルトの真の値である%TRUEの値を1(Fixnum)からtに変 更した. to_sで文字列に変換した時にも`t'と表示される. 更に踏み込 んで`t'を予約語にしてlispのようにしようかとも思ったが, そこまで は決心できなかった. 一文字のローカル変数はかなり使いそうな気がす るので…. * array.c,dict.c: equalを再定義しているクラスで, hashを正しく定義 した. Wed Sep 28 23:30:28 1994 Yukihiro Matsumoto (matz@dyna) * eval.c(Ffail): 今までfailはカーネルクラスのメソッドであったが, 構文に組み込んだ. この変更によって, 1)`fail'は予約語となり, ロー カル変数に用いることができなくなった. 2)`fail'単体で例外を発生す るようになった. 3)failはメソッドではなくなったので再定義される可 能性がなくなった. * dic.c, dbm.c(indexes): Arrayのindexesと同様の機能を持つメソッド を追加. * array.c(indexes): 引数をインデックスとする要素の配列を返す. 整数 の配列を引数とする時には引数の要素をインデックスとする要素の配列 を返す. Mon Sep 19 13:42:31 1994 Yukihiro Matsumoto (matz@ix-02) * array.c(aset): 部分配列に対する代入で配列以外のオブジェクトが指 定された場合に多重代入と同じルールで配列化するようにした. * io.c(print): 引数として与えられた各オブジェクトにprint_onメッセー ジを与えるように. 実行速度は落ちるが柔軟性は増す. Fri Sep 16 14:59:18 1994 Yukihiro Matsumoto (matz@ix-02) * glob.c: ワイルドカードの導入. bashに使われているGNUのglobルーチ ンを流用した. Mon Sep 12 18:36:58 1994 Yukihiro Matsumoto (matz@ix-02) * parse.y(value_expr): 式がnilの時に対応. * class.c: ICLASSのclassが必ずClass/Moduleを指すように. Tue Sep 6 16:23:28 1994 Yukihiro Matsumoto (matz@ix-02) * re.c: 正規表現内で「\数字」形式が指定できるように. * parse.y:「do expr using var ... end」形式はなくなった. 寂しい気 もする. *BACKWARD INCOMPATIBILITY* Mon Sep 5 10:59:01 1994 Yukihiro Matsumoto (matz@ix-02) * numeric.c(next): Numericクラスにもnextを提供. * string.c(upto): uptoを提供. * range.c(each): nextを使ったインタフェースからuptoを使うように変 更した. この方が一つのメソッドで処理をまとめで行なうことができる. Fri Sep 2 15:25:39 1994 Yukihiro Matsumoto (matz@ix-02) * dict.c(each): 戻り値を[key, value]のペアに変更. 今までのeachは each_valueとして残る. *BACKWARD INCOMPATIBILITY* Thu Sep 1 10:49:04 1994 Yukihiro Matsumoto (matz@ix-02) * 成功した(特別な戻り値を持たない)システムコールは`0'を返すように. Wed Aug 31 00:26:51 1994 Yukihiro Matsumoto (matz@dyna) * string.c: チェックサムを得るメソッド`sum'を作った. * class.c(include_class_new): ICLASSのclassをもとのクラスにした. gcの際に元クラスをマークする必要があるのが, フィールドを増やす余 地が無いので, classフィールドを流用した. 私の見積りが間違ってい て, ICLASSのインスタンスにメッセージを送る事があれば, おかしな動 作をするだろう. * eval.c(masign): 式(a,b = nil)の値を[nil]からnilに変更した. Mon Aug 29 11:56:09 1994 Yukihiro Matsumoto (matz@ix-02) * class.c: rb_define_mfuncを無くして, メタクラスにモジュールをイン クルードするようにした. * error.c(yyerror): 同じ行で複数のsyntax errorをリポートしないよう にした. * file.c: FileTestモジュールにファイルテストメソッドを分離した. * parse.y: 演算子を指定する時のlex_stateを正しく設定した. Sat Aug 27 01:23:34 1994 Yukihiro Matsumoto (matz@dyna) * parse.y: if/whileなどの複合式をprimaryに移動した. これによって例 えば「if cond then a else b end.message()」のような式が書けるよ うになった. Fri Aug 26 10:46:30 1994 Yukihiro Matsumoto (matz@ix-02) * spec: 整理された文法にしたがって書き直した. * parse.y: ここ数日で混乱していた文法を整理した. 括弧を省略したメ ソッド呼び出しができるようになったこと, modifierが付けられるよう になったこと, returnにリストが渡せるようになったことが主な変更点 である. * process周りが怪しいがとにかくSolaris 2.3で動くように. * parse.y: 曖昧性がない場合にはメソッド呼び出しの引数の括弧を省略 できるように. 省略できるメソッド呼び出しの条件は, 1)かならず1個 以上の引数を必要とすること, 2)第1引数が`+', `-', `(', `[', `{', `/'など, 式の始まりに置かれた時と途中に現れた時とで解釈が違う記 号で始まらないこと, である. Thu Aug 25 13:54:58 1994 Yukihiro Matsumoto (matz@ix-02) * parse.y(cond): 条件式の展開部にbugがあった. Wed Aug 24 00:01:15 1994 Yukihiro Matsumoto (matz@dyna) * parse.y: returnはコンマで区切ったリストも受け取るように. つまり, return a, b, cはreturn [a, b, c]と同じ意味になる. * parse.y: yield以外の大域脱出制御式をexprからexpr0に移した. よっ てメソッドの引数に制御式を使えなくなる(これで困る人はいないはず). * parse.y: `+'の定数展開の際に演算子の優先順位を忘れていた. * eval.c: untilの戻り値はnilになった. * parse.y: modifierとしてのif/unless/while/untilを追加. * parse.y: 文法からendの後ろにつけるキーワードを削除. ほとんど使わ なかった上に, emacsではruby-modeがあれば対応のチェックが機械的に 出来るため. Tue Aug 23 18:08:33 1994 Yukihiro Matsumoto (matz@ix-02) * eval.c: スクリプト実行開始前に例外が発生した時にcore dumpした. 組み込み用にコードを変更した時にenbugしてしまった. Tue Aug 23 00:07:17 1994 Yukihiro Matsumoto (matz@dyna) * eval.c: doの戻り値がいつもnilになっていた. * parse.y: loop制御変数の多重代入化にbugがあった. * parse.y(expand_op): 文字列も畳み込みの対象に. Mon Aug 22 10:50:01 1994 Yukihiro Matsumoto (matz@ix-02) * parse.y(expand_op): `+'に関しては結合則を使って, より多く定数畳 み込みを行なうように. * ruby.c(proc_options): argcが0の時にも対応. * parse.y: forなどの制御変数に多重代入も使えるように. Sat Aug 20 00:59:40 1994 Yukihiro Matsumoto (matz@dyna) * parse.y(call_op): 演算子`~'の取り扱いをルール部へ移動. Fri Aug 19 11:44:13 1994 Yukihiro Matsumoto (matz@ix-02) * main.c: rubyをほかのプログラムに組み込めるようにmain()を分割した. それにともない, プログラムの呼び出し構造を修正した. * parse.y: 条件式の定義を変更. ifなどの条件式の中でだけ`&&'や`||' および`!'の引数が条件式になるように. この変更により条件式以外の 場所での `&&', `||', `!'演算子の動作が直観に一致する. * parse.y: 実引数の`*'の後に続く引数はexprに制限した. 今までは全て の文が有効であったが, ここで定義文があってもしょうがない. Thu Aug 18 10:21:45 1994 Yukihiro Matsumoto (matz@ix-02) * re.c: 正規表現ルーチンの初期化部分を削除してしまっていた. これで はemacsの正規表現になってしまう. * version.c: copyright表示を追加. * version.c: バージョン表示をstderrに. * configure.in: gccがない場合testに失敗していた. Fri Aug 12 14:12:23 1994 Yukihiro Matsumoto (matz@ix-02) * array.c(astore): 配列の拡大する時にある程度の大きさをまとめて拡 大するように. * io.c(Fprint): 配列に対しては一度文字列に変換することなく, 直接内 容を出力するように. * string.c(str_new): memmoveからmemcpyへ置き換えた. これでもかなり 速度が違う. * ruby.h: データメンバの取り出しで名前を文字列からIDで指定するよう にした. かなりの高速化になる. * io.c: $ARGFという変数で引数列からなる仮想ファイルをオブジェクト として扱えるようにした. 今まではトップレベルのgets()などを使って アクセスしていたが, どうもオブジェクト指向的ではなかった. Thu Aug 11 11:43:15 1994 Yukihiro Matsumoto (matz@ix-02) * gc.c: mark_location()の間違った呼び出し方の行が残っていた. * method.c: プロトタイプ宣言が足りなかった.
Diffstat (limited to 'spec')
-rw-r--r--spec1459
1 files changed, 877 insertions, 582 deletions
diff --git a/spec b/spec
index aa3d96e868..37e6260611 100644
--- a/spec
+++ b/spec
@@ -42,10 +42,10 @@ RubyΥ֥ȻظǽˤĤƳؤ٤, 궯ϤʤȤǤ褦
󥯤Ǥ뤷, ǤʤƤRubyƥѥ뤷Ȥ߹ߥ
ɲäΤưפǤ(PerlʤɤϤ뤫ưפǤ).
-* Rubyδ
+* Rubyʸˡ
-RubyδŪʬ˾, ʸˡ㳰ʤΤǿȤˤĤΤ
-ۤ񤷤ʤ.
+ǤRubyʸˡ⤹. RubyδŪʬ˾, ʸ
+ˡ㳰ʤΤǿȤˤĤΤϤۤ񤷤ʤ.
**
@@ -54,214 +54,193 @@ RubyδŪʬ˾, ʸˡ㳰ʤΤǿȤˤĤΤ
** ڤ국
-ʸ(֤ȥڡ)Ӳ(\n)ڤ국Ȥʤ. ,
+ʸ(֤ȥڡ)Ӳ(\n)ڤ국Ȥʤ.
a +
b
-Τ褦˹Ԥ(ʸ)ǽ, ιԤ³Ȥʾʳϲ
-ʸζڤȤǧ.
-
-** ̻
-
-ե٥åȤ`_'ǻϤޤ, ե٥å, , `_'Ǥդ¤Ӥϼ
-̻ҤǤ. ̻ҤŤϤʤ.
+Τ褦˹Ԥ(ʸ)ǽ, ιԤ³Ȥʾʳʸ
+ڤȤƤǧ.
** ͽ
ͽϰʲ̤Ǥ
- break elsif module self when
- case end nil super while
- class ensure protect then yield
- continue for redo undef __END__
- def if resque unless __FILE__
- do in retry until __LINE__
- else include return using
+ break end module self while
+ case ensure nil super yield
+ class fail protect then __END__
+ continue for redo undef __FILE__
+ def if resque unless __LINE__
+ else in retry until
+ elsif include return when
ͽϥ饹̾, ᥽å̾, ѿ̾ʤɤѤ뤳ȤϤǤʤ.
-** 롼ԥ
-
-ϳ̤ˤäƥ롼ԥ󥰤뤳ȤǤ. ˳ˤϼ¤Ӥ
-񤱤. ¤Ӥ򵭽Ҥ, ȼζڤˤϲԤ ';' Ѥ.
-¤ӤͤϺǸɾͤǤ. Ĥޤ
-
- (; ; ...)
-
-ͤϺǸɾͤˤʤ.
-
-** ƥ
-
-ʲΥƥ뤬 ϼǤ.
+**
- ʸƥ
+RubyץǤϼʸǤ. ޤ, ⤹.
- "..." # ХååβѿŸ
- '...' # Хååβʤ(\\\'ϲ᤹)
+*** ƥ
- Хåå嵭ˡ
+ץľܵҤǤ륪֥ȤƥȸƤ. RubyΥƥ
+ˤʸ, ɽ, ͤȤƥ뤬.
- \t (0x09)
- \n ʸ(0x0a)
- \r ʸ(0x0d)
- \f ڡʸ(0x0c)
- \b Хåڡ(0x08)
- \a ٥(0x07)
- \e (0x1b)
- \# ʸ`#'Τ
- \nnn 8ʿɽ(n0-7)
- \xnn 16ʿɽ(n0-9,a-f)
- \^c ȥʸ(cASCIIʸ)
- \C-c ȥʸ(Ʊ)
- \M-c ᥿ʸ(c|0x80)
+**** ʸƥ
- ɽƥ
+ "..." # ХååβѿŸ
+ '...' # Хååβʤ(\\\'ϲ᤹)
- /.../
+**** Хåå嵭ˡ
- ɽ
+ \t (0x09)
+ \n ʸ(0x0a)
+ \r ʸ(0x0d)
+ \f ڡʸ(0x0c)
+ \b Хåڡ(0x08)
+ \a ٥(0x07)
+ \e (0x1b)
+ \# ʸ`#'Τ
+ \nnn 8ʿɽ(n0-7)
+ \xnn 16ʿɽ(n0-9,a-f)
+ \^c ȥʸ(cASCIIʸ)
+ \C-c ȥʸ(Ʊ)
+ \M-c ᥿ʸ(c|0x80)
- ^ Ƭ
- $
- . Ǥդ1ʸ
- \w ѿ. [0-9A-Za-z_]Ʊ
- \W ѿ
- \s ʸ. [ \t\n\r\f]Ʊ
- \S ʸ
- \d . [0-9] Ʊ
- \D
- \b 춭ʸ(ʸ饹)
- \B 춭ʸ
- \b (0x08)(ʸ饹)
- [ ] ʸ饹
- * ľɽ0ʾη֤
- + ľɽ1ʾη֤
- {m,n} m󤫤nη֤
- ? 0ޤ1
- |
- ( ) ɽޤȤ
-
- ¾ʸƱХåå嵭ˡͭǤ.
-
- ͥƥ
-
- 123
- -123 (Ĥ)
- 1_234 (10ʿ`_'ޤळȤǤ)
- 123.45 ư
- 1.2e-3 ư
- 0xffff 16
- 0377 8
- ?a ʸ`a'Υ(97)
- ?\C-a ȥaΥ(1)
- ?\M-a ᥿aΥ(225)
- ?\M-\C-a ᥿-ȥaΥ(129)
-
- ?ɽǤƤΥХåå嵭ˡͭǤ.
-
-*** ѿŸ
+**** ѿŸ
֥륯(`"')ǰϤޤ줿ʸɽǤ `#{ѿ̾}'Ȥ
ѿƤŸ뤳ȤǤ. ѿѿ(`$',`@',`%')
ľˤ`#ѿ̾'ȤǤŸǤ. ʸ`#'³ʸ
-`{'Ǥʤ, ѿǤʤ, Τޤ`#'ȤƲᤵ.
-
-** ޥɤν
-
-``ǰϤޤ줿ʸ, ֥륯ȤƱͤŸ줿, Ʊ
-褦˥ޥɤȤƼ¹Ԥ, μ¹Է̤ʸȤͿ.
-ޥɤɾ뤿Ӥ˼¹Ԥ.
+`{',`$',`@',`%'Ǥʤ, Τޤ`#'ȤƲᤵ.
-**
+**** ɽƥ
-󼰤ϰʲηǤ.
+ /.../
- [ , ... ]
+ ^ Ƭ
+ $
+ . Ǥդ1ʸ
+ \w ѿ. [0-9A-Za-z_]Ʊ
+ \W ѿ
+ \s ʸ. [ \t\n\r\f]Ʊ
+ \S ʸ
+ \d . [0-9] Ʊ
+ \D
+ \b 춭ʸ(ʸ饹)
+ \B 춭ʸ
+ \b (0x08)(ʸ饹)
+ [ ] ʸ饹
+ * ľɽ0ʾη֤
+ + ľɽ1ʾη֤
+ {m,n} m󤫤nη֤
+ ? 0ޤ1
+ |
+ ( ) ɽޤȤ
-줾μɾ̤ޤ֤. Ǥ0뤿
-ˤ϶
+¾ʸƱХåå嵭ˡͭǤ.
- []
+**** 磻ɥɥƥ
-Ѥ.
+ <...>
-** Ϣ
+ * Ǥդʸ(ʸޤ)Ȱ
+ ? Ǥդ1ʸȰ
+ [ ] []Τ줫1ʸȰ
+ {..} {}Τ줫ʸȰ
-ϢȤǤդΥ֥Ȥ򥭡(ź)ȤƻƤǤ. Ruby
-ǤϢSmalltalkѸڤDict()ȤƤФ. ܺ٤ϥ
-饹Dictι򻲾Ȥ줿. ϢϢ󼰤ϰʲη
-.
+**** ͥƥ
- { =>, ... }
+ 123
+ -123 (Ĥ)
+ 1_234 (10ʿ`_'ޤळȤǤ)
+ 123.45 ư
+ 1.2e-3 ư
+ 0xffff 16
+ 0377 8
+ ?a ʸ`a'Υ(97)
+ ?\C-a ȥaΥ(1)
+ ?\M-a ᥿aΥ(225)
+ ?\M-\C-a ᥿-ȥaΥ(129)
-줾μɾ̤򥭡ͤȤϢ󥪥֥Ȥ֤.
-Ǥ0Ϣ뤿ˤ϶Ϣ
+ \ܥ ̻/ѿ̾Ȱаб. applyʤɤǥ᥽
+ ɤꤹΤ˻Ȥ.
- {}
+?ɽǤƤΥХåå嵭ˡͭǤ.
-Ѥ.
+*** ޥɤν
-** ѿ
+RubyǤshΤ褦˥ޥɤμ¹Է̤ʸƥΤ褦˻ȤȤ
+Ǥ. ``ǰϤޤ줿ʸ, ֥륯ȤƱͤ˥Хåå嵭
+ˡβѿŸԤʤ줿, ޥɤȤƼ¹Ԥ, μ¹Է
+ʸȤͿ. ޥɤɾ뤿Ӥ˼¹Ԥ.
-ѿˤ4ढä, μѿ̾κǽΰʸǷꤵ.
-Ƥʤѿ򻲾ȤͤnilǤ.
+*** ѿ
- 饹ѿ()
+Rubyѿϥ(ͭϰ)ȼ̿(ͭ)ˤä4ʬव,
+μѿ̾κǽΰʸǷꤵ. ̾ѿ2ʸܰʹߤ
+ѿޤ`_'Ǥ뤬, ƥѿΰϡ`$'+1ʸεפȤ
+ѿ. ѿ̾Ĺ˴ؤ̤¤Ϥʤ.
- `%'ǻϤޤѿϥ饹ѿǤ, Υ饹ƤΥ֥饹
- 󥹥󥹤黲ȤǤ. ѿؤϥȥåץ٥, ʤ
- ᥽åɤǤ٥ǤΤ߲ǽǤ. ѿϥ饹֤
- ͤͭ, ȥ᥽åɤͤѹ뤳ȤǤ
- Τ,ȤѤ.
+ѿΥפ˴ؤ餺, Ƥʤѿ򻲾Ȥͤnil
+Ǥ.
- 󥹥ѿ
+**** Хѿ
- `@'ǻϤޤѿϥ󥹥ѿǤ, Υ饹ޤϥ֥
- Υ᥽åɤ黲ȤǤ. μ̿ϥ֥Ȥμ̿.
+`$'ǻϤޤѿΥפϥХǤ, ץΤɤǤ
+ȤǤ. μ̿ϥץμ̿.
- Хѿ
+**** 󥹥ѿ
- `$'ǻϤޤѿΥפϥХǤ, μ̿ϥץ
- μ̿.
+`@'ǻϤޤѿϥ󥹥ѿǤ, Υ饹ޤϥ֥饹
+᥽åɤ黲ȤǤ. פϥ᥽åǤ, μ̿ϥ֥
+Ȥμ̿.
- 饹̾/⥸塼̾/ѿ
+**** 饹̾/⥸塼̾/ѿ
- ե٥åȤޤ`_'ǻϤޤѿϼ̻ҤȤƤФ,
- ѿ, 饹̾ޤϥ⥸塼̾Ǥ.
+ե٥åȤޤ`_'ǻϤޤѿϼ̻ҤȤƤФ, ѿ,
+饹̾ޤϥ⥸塼̾Ǥ.
- ֤Ǥϼ̻Ҥϥ饹/⥸塼̾Ȥߤʤ뤬(륯
- ¸ߤʤͤnil), κդ˸줿̻Ҥ,Υ
- ǤϥѿȤƸʤ, Ʊ̾Υ饹⥸塼
- . ΰ̣Ǽ̻ҤؤȤƤƯ.
+֤Ǥϼ̻Ҥϥ饹/⥸塼̾Ȥߤʤ뤬(륯饹
+¸ߤʤͤnil), κդ˸줿̻Ҥ,Υ
+ǤϥѿȤƸʤ, Ʊ̾Υ饹⥸塼ϱ.
+ΰ̣Ǽ̻ҤؤȤƤƯ.
Array # 󥯥饹 Array
Array = 15 # . ʸArrayϥѿ
- print(Array, "\n") # `15'Ϥ
+ print Array, "\n" # `15'Ϥ
- ϥѥ˲ᤵ뤿, ̻Ҥؤºݤ˼
- ԤƤ, ʤƤ, ʹߤΥǤϤμ̻Ҥϥ
- ѿȤߤʤ.
+ȤƤβϥѥ˹Ԥʤ뤿, ̻Ҥؤ
+ºݤ˼¹ԤƤ⤵ʤƤ, ʹߤΥǤϤμ̻Ҥ
+ѿȤߤʤ.
Array # 󥯥饹 Array
if %FALSE
Array = 15 # Υɤϼ¹Ԥʤ,
# ʹArrayϥѿȤߤʤ.
end
- print(Array, "\n") # `nil'Ϥ
+ print Array, "\n" # `nil'Ϥ
+
+Υ롼ϰ츫ʣ, 饹/⥸塼̾ȥѿ̾ʣ
+ʤ¤, ̤ΥѿͤnilǤȹͤƤ⺹٤Ϥ
+. RubyȤ߹ߥ饹ʸΥե٥åȤǻϤޤ̾Ĥ
+, 桼⥯饹/⥸塼̾ˤʸǻϤޤ뼱̻Ҥ,
+ѿ̾ˤϾʸޤ`_'ǻϤޤ뼱̻ҤȤȤ򶯤侩.
- Υ롼ϰ츫ʣ, 饹/⥸塼̾ȥѿ̾
- ʣʤ¤, ̤ΥѿͤnilǤȹͤƤ⺹
- ٤Ϥʤ.
+ѿΥפ̿⤽Υ֥åνޤ(ȥåץ٥Υ
+ѿϥץνλޤ)Ǥ.
- RubyȤ߹ߥ饹ʸΥե٥åȤǻϤޤ̾ĤƤ
- , 桼⥯饹/⥸塼̾ˤʸǻϤޤ뼱̻Ҥ,
- ѿ̾ˤϾʸޤ`_'ǻϤޤ뼱̻ҤȤȤ򶯤侩.
+**** 饹ѿ()
- ѿμ̿ϤΥ᥽åɤλޤ(ȥåץ٥Υ
- ѿϥץνλޤ)Ǥ.
+`%'ǻϤޤѿϥ饹ѿǤ, Υ饹ƤΥ֥饹Υ
+󥹤黲ȤǤ. ѿؤϥȥåץ٥, ʤ᥽
+ɤǤ٥ǤΤ߲ǽǤ. ѿϥ饹֤ͤͭ,
+ȥ᥽åɤͤѹ뤳ȤǤʤΤ,Ȥ
+Ѥ.
-˵ѿȸƤФüѿ4Ĥ.
+**** ѿ
+
+̾ѿʳ˵ѿȸƤФüѿ4Ĥ.
self | ߤΥ᥽åɤμ¹Լ
nil | Nil饹ͣΥ󥹥(ɽ)
@@ -271,52 +250,99 @@ RubyδŪʬ˾, ʸˡ㳰ʤΤǿȤˤĤΤ
εѿˤäƤͤѹ뤳ȤϤǤʤ.
ѿؤ㳰ȯ.
-** å
+*** å
֥Ȥ˥åŪʹʸåǤ, δ
ܷϰʲ̤Ǥ.
- 1.᥽å̾(...)
+ 1 '.' ᥽å̾ '(' 1... [',' '*' n ]')'
- 1ɾ륪֥Ȥ, ̻Ҥǻꤵ᥽
- ɤƤӽФ. ֺǸΰ'*'³(ñ)Ǥ,
- μɾ(Ǥɬפ)Ÿ, Ȥ
- ɲä.
+1ɾ륪֥Ȥ, ̻Ҥǻꤵ᥽åɤƤ
+Ф. ֺǸΰ'*'³(ñ)Ǥ, μɾ
+(Ǥɬפ)Ÿ, Ȥɲä.
- Ĥʤˤϳ̤άǤ.
+Ĥʤˤϳ̤άǤ.
᥽å̾ȤƤǤդμ̻ҤѤ뤳ȤǤ. ѿ̾Ȥϼ̻Ҥ
֤̾㤦ΤǽʣƤ⹽ʤ.
-** ؿ
-
å, 쥷Фselfξ, 쥷Фά̾Υץ
ߥ󥰸ˤؿΤ褦ʷǥ᥽åɤƤӽФȤǤ.
ξ1ĤʤǤ̤ξάϤǤʤ.
ؿǤ`@'ǻϤޤ̾ĥ᥽åɤƤӽФȤǤ. `@'
Ϥޤ᥽åɤϴؿǤƤӽФȤǤʤ, 륯
-ޤ, Υ֥饹餷ƤФʤΤ, ץ饤١ȥ᥽åɤ
-ƤФ. ץ饤١ȥ᥽åɤC++ˤprotected member function
-.
+ޤϤΥ֥饹餷ƤФʤΤ, ץ饤١ȥ᥽åɤȸ
+Ф. ץ饤١ȥ᥽åɤC++ˤprotected member function˳
+.
-** ѡ饹Υ᥽åɸƤӽФ
+*** ѡ饹Υ᥽åɸƤӽФ
åüʥȤƥѡ饹Υ᥽åɤθƤӽФ
. ηϥ᥽åɤ˥ѡ饹Ѥ뤿
˻Ȥ.
- super
+ super
+
+ߤΥ᥽åɤͿ줿Τޤޥѥ饹Ʊ̾Υ᥽åɤƤ
+Ф.
+
+ super'(' ... ')'
+
+ȤȤ˥ѡ饹Ʊ̾Υ᥽åɤƤӽФ. ֺǸΰ
+`*'³̾Υ᥽åɸƤӽФƱͤϤ.
- ߤΥ᥽åɤͿ줿Τޤޥѥ饹Ʊ̾Υ᥽
- ɤƤӽФ.
+*** /Ϣ
- super(...)
+Υ֥Ȥ뼰ηϰʲηǤ.
- ȤȤ˥ѡ饹Ʊ̾Υ᥽åɤƤӽФ. ֺǸ
- ΰ`*'³̾Υ᥽åɸƤӽФƱͤϤ.
+ '[' , ... ']'
-** 黻
+줾μɾ̤ޤ֤. ǿ0ζ
+뤿ˤ϶
+
+ '[' ']'
+
+Ѥ.
+
+** Ϣ
+
+ϢȤǤդΥ֥Ȥ򥭡(ź)ȤƻƤǤ. Ruby
+ǤϢSmalltalkѸڤDict()ȤƤФ. ܺ٤ϥ
+饹Dictι򻲾Ȥ줿. ϢϢ󼰤ϰʲη
+.
+
+ '{' '=>' ... '}'
+
+줾μɾ̤򥭡ͤȤϢ󥪥֥Ȥ֤.
+ǿ0Ϣ뤿ˤ϶Ϣ
+
+ '{' '}'
+
+Ѥ.
+
+*** 󻲾,
+
+(Ϣޤ)ǤλȤϰʲηǹԤʤ.
+
+ 1 '[' 2... ']'
+
+ηŪ, 1"[]"ȤåȲᤵ.
+ư򵿻ŪʥɤǵҤаʲΤ褦ˤʤ.
+
+ 1"[]="(2)
+
+, Ǥ
+
+ 1 '[' 2... ']' '=' n
+
+ȤǹԤʤ,
+
+ 1."[]="(2..)
+
+ȤȤƲᤵ.
+
+*** 黻ҷ
ץߥ󥰤ؤΤ˰Υ᥽åɸƤӽФ湽¤ϱ黻ҷ
Ȥ. Rubyˤϰʲˤ黻Ҥ. ΤΤۤɷ̤,
@@ -335,68 +361,33 @@ RubyδŪʬ˾, ʸˡ㳰ʤΤǿȤˤĤΤ
||
.. ...
::
- =() (+=, -=, ..)
- yield
+ =() (+=, -=, ..)
ۤȤɤα黻ˤϥ᥽åɸƤӽФȤƲᤵ(饹˺
Ǥ), ǤʤüʤΤ. Ǥʤü黻
Ҥ
&&(), ||(), =(), ...(ϰϻ),
- yield(֥åƤӽФ)
-5ĤǤ.
+4ĤǤ.
Ǥü黻Ұʳα黻ҷϥ᥽åɸƤӽФȸʤ.
ñ黻(+, -, !, ~)
- 1."黻"()
-
-Ȥ, 2黻Ҥ
+ 1."黻"()
- 1."黻"(2)
+Ȥ, ʳ2黻Ҥ
-˲ᤵ. ¿黻(λȤ[])ϱ黻ҷ̤ʷȤ
+ 1."黻"(2)
- recv[arg..]
-
-,
-
- recv."[]"(arg..)
-
-Ȳᤵ. ǤؤƱͤ
-
- recv[arg0..] = argn
-
-,
-
- recv."[]="(arg0.., argn)
-
-Ȳᤵ.
-
-** P
-
-if, unless, while, untilξȽμ, ü黻`&&', `||',
-`...'ξդμ, ̾黻`!'αդϾPȸƤФ. PǤʸ
-ɽƥϼ$_=~ƥפξάǤȤߤʤ.
-黻`...'ξդǤ$.==פξάȲᤵ.
-
-: 黻`!'ü黻ҤǤϤʤΤ, Ԥʤ˵Ĥ
-뤳.
-
- ! ʸƥ
- ! ɽƥ
-
-ηǸƤӽФ᥽åɤΰ, ƥɽ֥ȤǤϤʤ,
-嵭Ӥη̤Ϳ. Τ, §Ū`!'᥽åɤϺ
-ʤɤȻפ.
+˲ᤵ.
**
ˤѿФ(), ץñˤ뤿Υ
å奬ȤƤ. ϰʲηǤ.
- ѿ =
+ ѿ '='
ϼɾ, ѿͤȤ. 饹⥸塼䵿ѿ
ˤǤʤ. 饹⥸塼ѹ뤿ˤclassʸ,
@@ -405,171 +396,207 @@ moduleʸѤ. ϱ黻ҷȤäƤ뤬, ᥽åɤǤϤʤ
󥿥å奬ȤƤϰʲΤΤ.
- Ǥؤ
+Ǥؤ
- 1[2,..] = n
+ 1'[' 2... ' ]' '=' n
- 1ɾ륪֥Ȥ, 2鼰nޤǤȤ
- , "[]="Ȥ᥽åɤƤӽФ.
+1ɾ륪֥Ȥ, 2鼰nޤǤȤ, "[]="
+Ȥ᥽åɤƤӽФ.
- °
- 1.̻ = 2
+ 1 '.' ̻ '=' 2
- 1ɾ륪֥ȤФ"̻="Ȥ᥽
- ɤ, 2ȤƸƤӽФ.
+1ɾ륪֥ȤФ"̻="Ȥ᥽åɤ,
+2ȤƸƤӽФ.
-
+
- 1 op= 2 # 1ǽǤʤФʤʤ.
+ 1 op= 2 # 1ǽǤʤФʤʤ.
- ηŪˡּ1 = 1 op 2פŸ, ¹Ԥ.
- ἰ12ɾΤ, Ѥͽۤʤ̤Ƥ
- ǽ. ϥץޤΥ׿򸺤餹ŪΤ
- ¸ߤǤ. opȤƻȤ黻Ҥ
+ηŪˡּ1 = 1 op 2פŸ, ¹Ԥ. Τ
+12ɾΤ, Ѥͽۤʤ̤Ƥֲǽ
+. ϥץޤΥ׿򸺤餹ŪΤ¸ߤ
+Ǥ. opȤƻȤ黻Ҥ
+, -, *, /, %, **, &, |, ^, <<, >>
- 11Ǥ. 黻Ҥ`='δ֤˥ڡƤϤʤ.
-
-*** ¿
-
-ƱʣѿԤʤȤǤ. ηϰʲ̤Ǥ.
+11Ǥ. 黻Ҥ`='δ֤˥ڡƤϤʤ.
- ѿ, [ѿ,...] = [, ]
+*** ʬ
-դμĤʤ, ͤȤ(ɬפʤto_a᥽
-ɤѴ), Ǥ򤽤줾ѿ. ʳξˤ,
-줾μͤѿ. դѿοȱդǤο
-ʤˤ­ʤѿˤ nil, ;äǤ̵뤵.
+ͤˤäʬ뼰ϰʲ˼if, unless, caseʣʸ
+3ȱ黻ҷ3ढ. RubyǤnil, ʳɾ.
+CPerlʤɤȤϰۤʤ, 0 ""(ʸ)ϵȤɾʤΤǵ
+뤳.
- 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
-
-** ʬ
+if
if 1 [then]
ʸ1
- [ elsif 2 [then]
+ [elsif 2 [then]
ʸ2 ]...
- [ else
+ [else
ʸn ]
- end [ if ]
+ end
- Ƚʸ. else if ǤelifǤʤelsififϢ³ԤʤȤ
- դ뤳.
+ȽǼ. 1ξʸ1ɾ. ʳξʸ2ɾ
+. Rubyifelse ifǤelifǤʤelsififϢ³ԤʤȤ
+դ뤳.
+
+unless
unless 1 [then]
- ʸ1
- [ else
+ ʸ1
+ [else
ʸ2 ]
- end [ unless ]
-
- 1(nil)֤, 2ɾ㳰ȯʸ1ɾ
- .
-
- 1 && 2
-
- 1ɾ, ͤ(nilʳ)Ǥ, 2ɾ.
-
- 1 || 2
-
- 1ɾ, ͤǤ, 2ɾ.
+ end
- 1 ... 2
+1(nil)֤, 2ɾ㳰ȯʸ1ɾ.
+ʳξʸ2ɾ.
- 1ˤʤޤǤϵ֤, θϼ2֤ޤǤϿ֤.
- 2ˤʤо֤ϵ
+case
case 0
- [ when 1 [, 2]...
+ [when 1 [, 2]...
ʸ1 ]...
- [ else
+ [else
ʸn ]
- end [ case ]
+ end
- ʬ, CswitchPascalcase˻Ƥ. breakæФ뤳
- Ȥʸ˷³뤳ȤʤΤ.
+ʬ, CswitchPascalcase˻Ƥ. breakæФ뤳Ȥ
+ʸ˷³뤳ȤʤΤ.
- ΰפϡּn =~ 0]ǹԤʤ. Ĥޤ,
+ΰפϡּn =~ 0]ǹԤʤ. Ĥޤ,
- case expr0
- when expr1, expr2
- stmt1
- when expr3, expr4
+ case expr0
+ when expr1, expr2
+ stmt1
+ when expr3, expr4
+ stmt2
+ else
+ stmt3
+ end
+
+ϰʲifʸǤ.
+
+ _tmp = expr0
+ if expr1 =~ _tmp || expr2 =~ _tmp
+ stmt1
+ elsif expr3 =~ _tmp || expr4 =~ _tmp
stmt2
- else
+ else
stmt3
- end
+ end
+
+黻ҷ
+
+ 1 '&&' 2
+
+1ɾ, ͤ(nilʳ)Ǥ, 2ɾ.
+
+ 1 '||' 2
- ϰʲifʸǤ.
+1ɾ, ͤǤ, 2ɾ.
- _tmp = expr0
- if expr1 =~ _tmp || expr2 =~ _tmp
- stmt1
- elsif expr3 =~ _tmp || expr4 =~ _tmp
- stmt2
- else
- stmt3
- end
+ 1 '...' 2
-** ֤
+1ˤʤޤǤϵ֤, θϼ2֤ޤǤϿ֤. 2
+ˤʤо֤ϵ
+
+*** ֤(ñ㷿)
+
+롼פ뼰. μͤϾnilǤ. ֥Ȥ˹
+롼פԤʤˤϼ˽Ҥ٤륤ƥ졼Ѥ.
+
+while
while
ʸ
- end [ while ]
+ end
+
+郎δ, ʸ򷫤֤¹Ԥ.
- 郎δ, ʸ򷫤֤¹Ԥ.
+until
until
ʸ
- end [ until ]
+ end
1 until 2
- (nil)֤, ɾ㳰ȯ, ʸ򷫤֤
- Ԥ.
+(nil)֤, ɾ㳰ȯ, ʸ򷫤֤¹Ԥ
+.
+
+*** PˤĤ
+
+if, unless, while, untilξȽμ, ü黻`...'ξ
+μϾPȸƤФ. PǤʸɽƥϼ$_=~
+ƥפξάǤȤߤʤ. ˱黻`...'ξդǤ
+$.==פξάȲᤵ. P˸黻 `&&', `||', `!'
+դμPȤߤʤ.
+
+: 黻`!'ü黻ҤǤϤʤΤ, Ԥʤ˵Ĥ
+뤳. P
+
+ ! ʸƥ
+ ! ɽƥ
+
+ηǸƤӽФ᥽åɤΰ, ƥɽ֥ȤǤϤʤ,
+嵭Ӥη̤Ϳ. Τ, §Ū`!'᥽åɤϺ
+ʤɤ.
+
+*** ƥ졼(֤)
** ƥ졼
ƥ졼Ȥ湽¤(ä˥롼)ݲΤѤ᥽åɤ
+Ǥ. ɤ(֥åȸƤФ)ꤷƥƥ졼Ƥ
+Ф, ƥ졼Ŭͤ򥻥åȤƥ֥åɾ(餯
+ʣ). ƥ졼Υ֥åθƤӽФyieldѤ().
+
+ƥ졼θƤӽФϰʲιʸǹԤʤ.
+
+ƥ졼Ȥ湽¤(ä˥롼)ݲΤѤ᥽åɤ
Ǥ. ƥ졼θƤӽФϰʲιʸǹԤʤ.
- do
- ʸ1
- using ѿ
- ʸ2
- end [ do ]
-
- ʸ2פ֥åȤꤷ, ʸ1Υ᥽åɤ򥤥ƥ졼Ȥɾ
- . ʸ1Υȥåץ٥Υ᥽åɤƥ졼ȤƸƤӽФ,
- 쥷Фɽ, μϥƥ졼ȤƤϸƤӽФʤ. ʸ
- 1ʣμгơƥ졼Ȥƽ˸ƤФ.
-
-ƥ졼yield value¹Ԥ, ͤdoʸǻꤵ줿ѿ
-֥å¹Ԥ. ֥åμ¹ԤλȤͤ
-yieldͤȤ֤. ᥽åɤƥ졼ȤƸƤӽФ줿
-ɤϴؿiterator_p()Τ뤳ȤǤ. ˤEnumerable⥸塼
-grep᥽åɤΤ褦˥ƥ졼ȤƸƤФ줿̤Υ᥽åɤȤ
-ƸƤФ줿Ȥưۤʤ᥽åɤ⤢.
-
- for ѿ in
+ '{' ѿ... '|' ʸ '}'
+
+ʸפ֥åȤꤷ, ּפΥ᥽åɤ򥤥ƥ졼Ȥɾ
+. ּפΥȥåץ٥Υ᥽åɤƥ졼ȤƸƤӽФ,
+쥷Фɽ, μϥƥ졼ȤƤϸƤӽФʤ. ּ
+ʣμޤ, ơƥ졼Ȥƽ˸ƤФ.
+
+ƥ졼yieldʸ¹Ԥ, ǻꤵ줿ͤdoʸǻꤵ
+줿ѿ, ֥å¹Ԥ. ֥åμ¹ԤλȤ
+ͤ yieldʸͤȤ֤. ᥽åɤƥ졼ȤƸƤӽ
+줿ɤϥ᥽åiterator_p()ͤΤ뤳ȤǤ. ˤ
+Enumerable⥸塼grep᥽åɤΤ褦˥ƥ졼ȤƸƤФ줿
+̤Υ᥽åɤȤƸƤФ줿Ȥưۤʤ᥽åɤ⤢.
+
+֥ȤγǤФԤʤη󶡤Ƥ.
+ϰʲ̤.
+
+ for ѿ.. in
ʸ
- end [ for ]
+ end
- γǤФʸ¹Ԥ. ϰʲdoʸǤ.
+γǤФʸ¹Ԥ. ϰʲμǤ.
- do ().each using ѿ
- ʸ
- end
+ '{' ѿ '|' ʸ '}'
+
+äƼͤΥ֥Ȥ᥽åeachʤ, for¹Ԥ
+㳰ȯ.
+
+*** ƥ졼ǤΥ֥åƤӽФ
+
+ yield '(' [ [',' ...]])
+ yield
- äƼͤΥ֥Ȥ᥽åeachʤ, for¹
- 㳰ȯ.
+ƥ졼ǥ֥åθƤӽФԤʤ. yield¹Ԥ᥽åɤ
+ƥ졼ȤƸƤӽФƤʤˤ㳰ȯ. yield ͤϥ
+åͤǤ.
-** 㳰
+*** 㳰
ͽʤ֤ȯˤ㳰ȯ. RubyǤ㳰
ª, ƻԤ, Ԥʤäꤹ뤳ȤǤ.
@@ -580,116 +607,212 @@ yieldͤȤ֤. ᥽åɤƥ졼ȤƸƤӽФ줿
ʸ2 ]
[ ensure
ʸ3 ]
- end [ protect ]
+ end
+
+ʸ1¹Ԥ, μ¹㳰ȯresqueǻꤵ줿ʸ2¹
+. ensure᤬¸ߤprotectʸλɬ(ェλ
+Ǥʤ, 㳰, return, break, continue, redoʤɤˤæФǤ)ʸ3
+¹Ԥ.
+
+unlessʸ, untilʸϾɾ㳰ȯ, ɾ̤
+ǤȸʤΤ, ۤ㳰ԤʤäƤ뤳Ȥˤʤ.
+
+*** 롼ԥ
+
+ϳ̤ˤäƥ롼ԥ󥰤뤳ȤǤ.
+
+ '(' ')'
+
+˳̤Ѥ, ʸ(ޤʸ¤)򼰤ˤ뤳ȤǤ.
+
+ '(' ʸ ';' ʸ... ')'
+
+ʸ¤ӤͤϺǸɾͤǤ. ĤޤͤϺǸɾʸ
+ͤˤʤ.
+
+** ʸ
+
+Rubyץ⤦ĤǤʸǤ. ʸˤñʸ, ʸ,
+ʸ. ̤ʸͤѤ뤳ȤϤʤ, ȤѤ
+⤢Τ, ͤ. ̾ʸͤnilǤ.
+
+***
+
+ñʸǤ.
+
+*** ¿
+
+ƱʣѿԤʤȤǤ. ηϰʲ̤Ǥ.
+
+ ѿ ',' [ѿ ',' ...] ['*' ѿ]= [, ...]
+
+դμĤʤ, ͤȤ(ɬפʤto_a᥽
+ɤѴ), Ǥ򤽤줾ѿ. ʳξˤ,
+줾μͤѿ. դѿοȱդǤο
+ʤˤ­ʤѿˤ nil, ;äǤ̵뤵. ¿
+κǸǤ`*', ĤưȤ
+.
+
+ 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]
+
+¿ñʸǤ. ͤ(Ѵ줿)դǤ.
- ʸ1¹Ԥ, μ¹㳰ȯresqueǻꤵ줿ʸ2
- ¹Ԥ. ensure᤬¸ߤprotectʸλɬ(
- ェλǤʤ, 㳰, return, break, continue, redoʤɤˤ
- æФǤ)ʸ3¹Ԥ.
+*** ʸ
-protectʳ, unless黻, until黻Ҥϱդͤ㳰ȯ
-, դͤȤƵͿ줿ȸʤΤ, ۤ㳰
-ԤʤäƤ뤳Ȥˤʤ.
+ήѹʲʸ. ñʸǤ.
-** æ
+returnʸ
- return []
+ return [[, ...]]
- ᥽åɤμ¹Ԥλ.
+ͤͤȤƥ᥽åɤμ¹Ԥλ. 2İʾͿ줿
+ˤ, ǤȤ᥽åɤͤȤ. Ĥʤ
+ˤ nil ͤȤʤ.
+
+롼ʸ
continue
redo
break
- 嵭3Ĥϥ롼ǻȤ.
+嵭3Ĥϥ롼ǻȤ.
+
+continueϤäȤ¦Υ롼פμη֤Ϥ. redoϥ롼׾
+ΥåԤʤ鷺, ߤη֤ľ. break ϥ롼פæФ
+. CȰ㤤, breakϤäȤ¦Υ롼פæФѤ, case
+ȴѤϻʤ.
- continueϤäȤ¦Υ롼פμη֤Ϥ. redoϥ롼
- Υ롼׾ΥåԤʤ鷺, ߤη֤ľ. break
- ϥ롼פæФ. CȰ㤤, breakϤäȤ¦Υ롼פæФ
- Ѥ, caseȴѤϻʤ.
+retryʸ
retry
- protectʸresqueǻȤ, protectʸϤᤫ¹Ԥ. 㳰
- ԤʤäƤƻԤΤ˻Ȥ.
+protectʸresqueǻȤ, protectʸϤᤫ¹Ԥ. 㳰Ԥʤ
+ƤƻԤΤ˻Ȥ. resqueʳretryѤ줿㳰ȯ
+.
+
+failʸ
+
+ fail '(' [å] ')'
+ fail [å]
+
+㳰ȯ. åͿ줿ˤȯե
+̾, ֹ򥷥ƥѿ`$@', å`$!'˥åȤ.
+
+yieldʸ
+
+ yield [',' ...]
+
+ʸȤyieldѤ뤳ȤǤ. ξϼ̤dzɬפϤʤ.
+
+*** ᥽åɸƤӽФʸ
+
+1İʾĥ᥽åɤʸȤƸƤӽФˤϰ̤dzɬ
+פϤʤ. ηϰʲ̤Ǥ.
+
+ '.' ᥽å̾ 1 ',' [ 2... ][ '*' n ]
+ ᥽å̾ 1 ',' [ 2... ][ '*' n ]
+ super 1 ',' [ 2... ][ '*' n ]
+
+ʸϻ, Τ褦˲ǤϼȤƤβ᤬ͥ褵.
+
+ foo bar+baz # ᥽åɸƤӽФfoo(bar+baz)
+ foo (bar)+baz # ᥽åɸƤӽФfoo(bar) + bar
+ foo 1 # ᥽åɸƤӽФfoo(1)
+ foo -1 # ѿfoo - 1
+
+᥽åɸƤӽФʸñʸǤ.
- fail([å]) * Kernel饹Υ᥽åɤǤ.
+*** 潤
- 㳰ȯ. åͿ줿ˤȯե
- ̾, ֹ$@˥å$!˥åȤ.
+ñʸ潤ҤղäΤʸǤ(ñʸǤϤʤ). Ҥϰ
+4Ǥ.
-** ƥ졼ǤΥ֥åƤӽФ
+ ñʸ if
+ ñʸ unless
+ ñʸ while
+ ñʸ until
- yield
+、(if/unless)μԤʸäɾ. ưб
+ʬƱͤǤ.
- ƥ졼ǥ֥åθƤӽФԤʤ. yield¹Ԥ᥽
- ɤƥ졼ȤƸƤӽФƤʤˤ㳰ȯ.
+֤(while/until)ϤޤԤʸɾƤPɾ
+Τ, ٤ʸ¹Ԥ뤳Ȥˤʤ.
-** 饹
+*** 饹ʸ
饹빽ʸϰʲ̤Ǥ.
- class 饹̾ [ : ѡ饹̾ ]
+ class 饹̾ [':' ѡ饹̾ ]
- end [ class ]
+ end
-ͤnil. 饹̾ʸǻϤޤ뼱̻ҤǤ. 饹ΥͥȤϤ
-ʤΤ¾ʸǤϥ饹Ǥʤ.
+饹̾Ǥդμ̻ҤǤ(ʸǻϤ뤳Ȥ侩). 饹
+ΥͥȤϤǤʤΤ¾ʸǤϥ饹Ǥʤ.
-** ⥸塼
+*** ⥸塼ʸ
⥸塼빽ʸϰʲ̤Ǥ.
module 饹̾
- end [ module ]
+ end
⥸塼̾ʸǻϤޤ뼱̻ҤǤ. 饹Ʊ, ⥸塼
ͥȤǤʤ.
-** 󥯥롼
+*** 󥯥롼ʸ
-饹˥⥸塼򥤥󥯥롼ɤ빽ʸϰʲ̤Ǥ.
+⥸塼򥤥󥯥롼ɤ뤳Ȥˤä, 饹ޤϥ⥸塼˵ǽ
+ɲäǤ. ⥸塼򥤥󥯥롼ɤ, Υ⥸塼(
+Υ⥸塼뤬˥󥯥롼ɤƤ⥸塼)ƤΥ᥽åɤ
+Ѥ. ̤Τ򤹤Х󥯥롼ɤϸꤵ줿¿ŷѾȤ.
- include ⥸塼̾ [, ⥸塼̾...]
+¾Υ⥸塼򥤥󥯥롼ɤ빽ʸϰʲ̤Ǥ.
-ߤΥ饹ޤϥ⥸塼(ȥåץ٥ǤObject)˻ꤷ
-⥸塼򥤥󥯥롼ɤ. ˤä¿ŷѾ򥨥ߥ졼ȤǤ.
+ include ⥸塼̾ [',' ⥸塼̾...]
-** ᥽å
+ߤΥ饹ޤϥ⥸塼(ȥåץ٥ǤObject饹)˻
+ꤷ⥸塼򥤥󥯥롼ɤ.
+
+*** ᥽åʸ
̾(ðۥ᥽åɤǤʤ)᥽åηϰʲ̤Ǥ. ̾᥽
ϥͥȤǤʤΤ, ᥽åʸǤϥ᥽åʸƤӸ
ӽФʤ.
- def ᥽å̾ [ ( [, ...][, * ] ) ]
+ def ᥽å̾ [ '(' [',' ...][',' '*' ] ')' ]
- end [ def ]
+ end
᥽å̾ϼ̻ҤޤʸǤ. 黻Ҥκ򤹤ˤʸ
ǻꤹ. ¤ӤκǸ`*', ¿Ϳ줿
°, ǸΰȤͿ(­ʤˤϥ顼).
-** ðۥ᥽å
+** ðۥ᥽åʸ
-᥽åˤϤ⤦ðۥ᥽åɤ. ϰʲ̤Ǥ
-.
+᥽åˤϤ⤦ðۥ᥽åɤ. ðۥ᥽åɤȤϤ
+Υ֥Ȥ˸ͭΥ᥽åɤǤ. ϰʲ̤Ǥ.
- def .᥽å̾ [ ( [, ...][, * ] ) ]
+ def '.' ᥽å̾ [ '(' [',' ...][',' '*' ] ')' ]
- end [ def ]
+ end
-ηϼͤǤ륪֥Ȥðۥ᥽åɤ. ͤ
+ηϼͤǤ륪֥Ȥðۥ᥽åɤ. ͤ
(ӥȥ󥯥饹Ǥʤ)̾索֥Ȥ, 饹ޤϥ⥸塼Ǥ
-ɬפ. ̾᥽åȤϰۤʤ, ϥ᥽åǤ
-ȤƸƤӽФȤǤ.
+ɬפ. ̾᥽åȤϰۤʤ, ðۥ᥽åɤϥ᥽å
+ǤͥȤ뤳ȤǤ.
-ðۥ᥽åɤΥ֥Ȥˤ°᥽åɤǤ. ä̾
-ϷѾʤ, 㳰Ȥƥ饹ðۥ᥽åɤϤΥ֥饹ˤ
-. ؤХ饹ðۥ᥽åɤ¾Υ֥Ȼظ
-ˤ륯饹᥽åɤƯ򤹤.
+ðۥ᥽åɤ̾ϷѾʤ, 㳰Ȥƥ饹ðۥ᥽åɤϤ
+Υ֥饹ˤѾ. ؤХ饹ðۥ᥽åɤ¾Υ
+Ȼظƥˤ륯饹᥽åɤƯ򤹤.
-** ᥽åɤ̾
+*** ᥽åɤ̾ʸ
ʲηǥ᥽åɤ̾Ĥ뤳ȤǤ.
@@ -699,7 +822,7 @@ protectʳ, unless黻, until黻Ҥϱդͤ㳰ȯ
åɤƤ, Ť᥽åɤƤӽФ줿ΤƱƯ
.
-** ᥽åä
+*** ᥽åäʸ
᥽åɤäˤundefѤ.
@@ -708,10 +831,11 @@ protectʳ, unless黻, until黻Ҥϱդͤ㳰ȯ
̻Ҥޤʸǻꤷ᥽åɤä.
defˤ̾undefˤäȤȥ饹Υ󥿥ե
-򥹡ѥ饹Ωѹ뤳ȤǤ. , ʬȤ˥å
-äƤդʤȴ¸Υ᥽åɤưʤʤǽ
-.
-
+򥹡ѡ饹Ωѹ뤳ȤǤ. , ᥽åɤself
+˥åäƤˤϤ褯դʤȴ¸Υ᥽åɤư
+ʤʤǽ.
+
+-------------------------------------------------------
* RubyȤ߹ߵǽ
Rubyץߥ󥰤δܤϥ饹, ⥸塼ȤΥ᥽åɤνǤ.
@@ -719,8 +843,6 @@ RubyˤϽϤΤΤ˰ʲεǽȤ߹ޤƤ. 饤֥
ɤ뤳ȤˤäƵǽ뤬, ˴ؤƤϤ줾Υ饤֥
ΥɥȤ򻲾ȤƤ餤.
-ü`+'ΤĤ᥽åɤϴؿ᥽åɤǤ.
-
** ؿ
Rubyˤϸ̩ʰ̣ǤϴؿϤʤKernel饹Υ᥽åɤΰ(
@@ -728,50 +850,38 @@ Rubyˤϸ̩ʰ̣ǤϴؿϤʤKernel饹Υ᥽åɤΰ(
᥽åɤʲˤ. Υ᥽åɤݤˤϸߴ
ͤƹԤʤ٤Ǥ.
- _exit(status) +
+ _exit(status)
ץμ¹Ԥλ. statusλơȤ.
exit()Ȥϰä, 㳰ʤɤϰڹԤʤʤ. fork()θ,
ץλʤɤѤ.
- caller +
- caller(level) +
-
- åե졼फ, ᥽åɤθƤӽФΥե
- ̾, ֹ, ǤȤ֤. levelͿ줿
- ϸߤΥåե졼levelʾξ֤.
-
- eof() +
+ eof()
ޥɥ饤󤫤ϤEOFãƤ, ֤.
- eval(expr) +
+ eval(expr)
exprȤͿ줿ʸrubyץȤƲ,¹Ԥ.
- exec(command) +
+ exec(command)
߼¹ԤƤץλ, commandʸǻꤵ
̥ץư.
- exit([status]) +
+ exit([status])
ץμ¹Ԥλ. statusȤͿ줿,
ͤRubyޥɤνλơȤ. ǥեȤ0.
- fail([message]) +
-
- 㳰ȯ. åͿ줿ˤϤ򥷥ƥ
- ѿ`$!'˥åȤ, ȯ֤򥷥ƥѿ`$@'˥åȤ.
-
- fork() +
+ fork()
forkƥॳ¹Ԥ, ҥץ. ܺ٤
fork(2)򻲾ȤΤ. ƥץ¦ǤϻҥץΥץid
֤, ҥץ¦Ǥnil֤. 餫θǻҥץ
˼Ԥˤ㳰ȯ.
- format(format, ...) +
+ format(format, ...)
եޥåȤȤͿ줿ʸCsprintfƱ褦
ᤷ, Ÿʸ֤. ᥽åsprintf()̾.
@@ -779,46 +889,47 @@ Rubyˤϸ̩ʰ̣ǤϴؿϤʤKernel饹Υ᥽åɤΰ(
RubyˤformatҤγĥˤĤƤsprintf()ι򻲾Ȥ
.
- getc() +
+ getc()
ɸϤʸФ. ͤɤ߹ʸʸ
(ASCII)ɽFixnumǤ.
- getenv(name) +
+ getenv(name)
- name˳ĶѿФ.
+ name˳ĶѿФ. $ENV[name]Ʊ.
- gets(pattern, replace) +
+ gets()
- ȤͿ줿ե(ʤɸ)ɤ߹
- , ɤ߹ߤˤϤʸ֤. եν
- ãˤnil֤. Ԥζڤϥƥѿ`$/'ˤä
- ѹǤ. ɤ߹ʸϥƥѿ`$_'ˤ⥻åȤ.
+ ȤͿ줿ե(ʤɸ)ǹ벾
+ Ūʥե($ARGFǥǤ)ɤ߹, ɤ߹
+ ߤˤϤʸ֤. եνã
+ ˤnil֤. Ԥζڤϥƥѿ`$/'ˤäѹǤ.
+ ɤ߹ʸϥƥѿ`$_'ˤ⥻åȤ.
- gsub() +
+ gsub(pattern, replace)
ƥѿ`$_'λؤʸФִԤʤ. ʸ
pattern˥ޥåʬreplace֤. String饹
gsub᥽åɤβ򻲾ȤΤ.
- iterator_p() +
+ iterator_p()
᥽åɤƥ졼ȤƸƤӽФ줿˿, Ǥʤ˵
֤Ҹ.
- kill(signal, pid...) +
+ kill(signal, pid...)
pidǻꤵ줿ץ˥ʥ. ʥϥʥ
椫̾ǻꤹ. ͤĥʥ(뤤ϥʥ̾
`-')ͿȥץǤϤʤץ롼פ˥ʥ
.
- load(file) +
+ load(file)
fileɤ. fileɤѥϥƥѿ$LOAD_PATH
Ƿꤵ.
- open(file[, mode]) +
+ open(file[, mode])
file򥪡ץ󤷤, File֥Ȥ֤. ե̾ϥ
󤹤ե򼨤. ե̾`|'ǻϤޤˤ³ʸ
@@ -860,7 +971,7 @@ Rubyˤϸ̩ʰ̣ǤϴؿϤʤKernel饹Υ᥽åɤΰ(
ѿ`$\'(ϥեɥѥ졼)nil ǤʤͤåȤ
ˤ, ǸˤϤ.
- printf([port, ]format, arg1, ..., argn) +
+ printf([port, ]format, arg1, ..., argn)
Cprintf()Ʊformat˽ʸѴ, Ϥ
. 1IOΥ֥饹Υ󥹥󥹤ǤäϤΥ
@@ -869,7 +980,7 @@ Rubyˤϸ̩ʰ̣ǤϴؿϤʤKernel饹Υ᥽åɤΰ(
RubyˤformatҤγĥˤĤƤsprintf()ι򻲾Ȥ
.
- rand(max) +
+ rand(max)
0maxۤʤϰϤȯ. ͤFixnum.
@@ -880,7 +991,7 @@ Rubyˤϸ̩ʰ̣ǤϴؿϤʤKernel饹Υ᥽åɤΰ(
ϺƥɤʤǤ. ºݤ˥ɤˤ%TRUE,
˥ɤƤˤ%FALSE֤.
- select(reads[, writes[, execpts[, timeout]]]) +
+ select(reads[, writes[, execpts[, timeout]]])
select(2)¹Ԥ. reads/writes/execptsˤIO(ޤϤΥ
饹)Υ󥹥󥹤Ϳ. timeoutFixnum / Float
@@ -888,17 +999,18 @@ Rubyˤϸ̩ʰ̣ǤϴؿϤʤKernel饹Υ᥽åɤΰ(
nil, ǤʤȤ3Ǥ֤, γǤ//
㳰ԤΥ֥ȤǤȤƻ.
- setenv(name, value) +
+ setenv(name, value)
- nameǻꤵĶѿvalue˥åȤ.
+ nameǻꤵĶѿvalue˥åȤ. $ENV[name]=value
+ ƱƯ򤹤.
- sleep([sec]) +
+ sleep([sec])
secäץμ¹Ԥߤ. secά줿, ץ
SIGALRMʤ¤, ʵפ˥꡼פ. ºݤ˥꡼
פÿ֤.
- sprintf(format, ...) +
+ sprintf(format, ...)
formatʸCsprintfƱ褦˲ᤷ, Ÿ
ʸ֤. ᥽åformat()̾.
@@ -910,40 +1022,40 @@ Rubyˤϸ̩ʰ̣ǤϴؿϤʤKernel饹Υ᥽åɤΰ(
8 , 16ʿɽԤʤ, ονκݤ2ɽ
Ϥʤ, ɽƬ`-'ĤΤɽ.
- srand([]) +
+ srand([])
νͤꤷ, Ť֤ͤ. ͤά줿
time(3)֤ͤǥեȤȤ.
- sub() +
+ sub(pattern, replace)
ƥѿ`$_'λؤʸФִԤʤ. ʸǺ
pattern˥ޥåʬreplace֤. String饹
sub᥽åɤβ򻲾ȤΤ.
- syscall(num, arg...) +
+ syscall(num, arg...)
numǻꤵ줿ֹΥƥॳ¹Ԥ. 2ʹߤ
ƥॳΰȤϤ. ʸޤǤʤ
ʤʤ.
- system(command) +
+ system(command)
ޥɤ¹Ԥ, νλơ֤.
- trap(command, signal...) +
+ trap(command, signal...)
signalγߤäcommand¹Ԥ. signalϥ
- ʥ̾ʥֹ. commandȤSIG_IGNޤIGNORE
- ˤϤΥʥ̵뤹(ǽʤ). SIG_DFLޤ
- DEFAULTꤷϥǥեȤưԤʤ.
+ ʥ̾ʥֹ. commandȤ"SIG_IGN"ޤ"IGNORE"
+ ꤷˤϤΥʥ̵뤹(ǽʤ). "SIG_DFL"
+ "DEFAULT"ꤷϥǥեȤưԤʤ.
- wait() +
+ wait()
ҥץλΤԤ, λҥץpid֤.
ҥץĤʤnil֤.
- waitpid(pid, flags) +
+ waitpid(pid, flags)
λҥץνλԤ, Υץλ˿
. ҥץ¸ߤʤ, Υ֥å󥰥⡼ɤǻҥץ
@@ -953,7 +1065,7 @@ Rubyˤϸ̩ʰ̣ǤϴؿϤʤKernel饹Υ᥽åɤΰ(
** ƥѿ
- $! 顼å. fail()ꤹ.
+ $! 顼å. failꤹ.
$@ 顼ȯΥե̾ȹֹ椬
@@ -1007,7 +1119,8 @@ Rubyˤϸ̩ʰ̣ǤϴؿϤʤKernel饹Υ᥽åɤΰ(
$ENV Ķѿ˥Ϣ(EnvDict). ѿ
`for'Ԥʤѿ̾ͤΥڥͿ.
- $FILENAME ؿgets()Ǹɤ߹Υե̾.
+ $FILENAME ۥե$ARGFǸɤ߹Υե̾. ᥽
+ gets()ɤǤե̾.
$DEBUG `-d'ե饰ξ()
@@ -1020,28 +1133,97 @@ Rubyˤϸ̩ʰ̣ǤϴؿϤʤKernel饹Υ᥽åɤΰ(
$stdout ɸ
$stderr ɸ२顼
+ $ARGF (ʤɸ)ǹ벾ۥե. Ĥޤ
+ gets()$ARGF.gets()Ʊ̣Ǥ.
+
$VERBOSE `-v'ե饰ξ()
$VERSION rubyΥС򼨤ʸ
** ƥ
- %TRUE 1(Fixnum)
+ %TRUE t
%FALSE nil
줾쿿ͤɽ. ȽǤnil, ʳƤͤ
- ȤȽǤ뤿, ֤ͤ᥽åɤ%TRUEʳͤ
- Τ¸ߤΤ, ӤѤΤŬڤǤʤȤդ
- Ǥ. 㤨мμϿˤʤʤ.
+ ȤȽǤ뤿, %TRUEͤɽŪʿͤȤʾΰ
+ ̣ʤ. ä, ᥽åɤͤǤȤȤ,
+ 줬%TRUE֤ȤȤϸ̩ˤƱǤϤʤ(ҸŪѤ
+ ᥽åɤ񿿤ͤȤ%TRUE֤褦ˤϤʤäƤ
+ ). Ĥޤ
+
+ if some.method() then .. else .. end
- (2 < 3) == %TRUE
+
- ᥽å"<"Ͽλ֤ͤΤ, ξͤ3Ǥ,
- %TRUE1Ȥϰۤʤ. %FALSE˴ؤƤ, Τ褦
+ if some.method() == %TRUE then .. else .. end
+
+ ϴˤƱǤϤʤ. %FALSE˴ؤƤ, Τ褦
ʤ.
** 饹/⥸塼
+*** ARGFILE(饹)
+
+ǻꤵ줿ե(ͿƤʤˤɸ)ǹ
+벾ۥե򥢥뤿Υ饹. Υ饹ðۥ᥽
+ɤ, ⥸塼ŪʻȤ򤵤. 饹̾Ǥʤƥ
+ѿ$ARGFǤ⻲ȤǤ.
+
+ while gets()
+ ...
+ end
+
+
+
+ for $_ in $ARGF
+ ...
+ end
+
+Ʊ̣, Ԥ, 򤷤䤹, ƥ֥å
+ΥȤΤ㴳٤.
+
+SuperClass: Object
+
+Included Modules: Enumerable
+
+Methods:
+
+ each
+
+ ƹ˷֤ƥ졼
+
+ each_byte
+
+ ʸ˷֤ƥ졼
+
+ eof
+
+ ɤ߹Ǥե(ۥեΤǤϤʤ)
+ ã˿֤.
+
+ getc
+
+ ۥե뤫1ʸɤ߹. ͤʸɤɽ
+ . եνãˤnil֤. Υ᥽åɤ
+ ɤ߹, ƥѿ`$.'Ѳʤ.
+
+ gets
+ readline
+
+ ۥե뤫ɤ߹, ɤ߹ߤˤϤʸ
+ ֤. եνãˤnil֤. Ԥζ
+ ϥƥѿ`$/'ˤäѹǤ. ɤ߹ʸϥ
+ ƥѿ`$_'ˤ⥻åȤ.
+
+ read
+
+ ۥեƤʸȤɤ߹.
+
+ readlines
+
+ ۥեɤ߹, ƹԤǤȤƻ֤.
+
*** Array(饹)
źȤΥ饹Ǥ. ϰŪˤ``[...]''
@@ -1101,9 +1283,9 @@ Methods:
礭0ˤ.
- delete(item)
+ delete(val)
- itemȰפǤ.
+ valȰפǤ.
delete_if
@@ -1122,6 +1304,18 @@ Methods:
lengthά줿νޤǤĹȤ. ꤵ줿
ʬ󤬸ϰϤۤϼưŪ˳ĥ.
+ index(val)
+
+ valǽǤΥǥå֤. Ǥ¸
+ ʤnil֤.
+
+ indexes(ary)
+ indexes(index-1, ..., index-n)
+
+ 1ܤηǤȤƼ, Ǥ򥤥ǥ
+ ȤǤޤ֤. 2ܤηǤϳưͤ
+ ǥåȤǤޤ֤.
+
join([sep])
ǤϢ뤷ʸ֤. ǤʸѴ,
@@ -1129,6 +1323,7 @@ Methods:
ͤѤ.
length
+ size
Ĺ(ǿ)֤.
@@ -1241,7 +1436,9 @@ Methods:
饹Υ饹. 긷̩ȥ饹ðۥ᥽åɤѾ뤿
, 줾᥿饹ȸƤФ̾Τʤ饹򥯥饹Ȥƻ,
ClassϤΥ᥿饹Υ饹Ǥ(ʬä?). , β⤬
-ǤʤƤ, RubyȤȤ˲λپʤ.
+ǤʤƤ, RubyȤȤ˲λپʤ. 饹ˤðۥ᥽åɤ
+Ǥ, ѡ饹줿ðۥ᥽åɤϤΥ֥饹
+ǤͭǤΤнʬǤ.
SuperClass: Module
@@ -1260,12 +1457,16 @@ Methods:
*** Comparable(⥸塼)
- ӱ黻饹ΤMixin. Υ⥸塼򥤥󥯥롼ɤ뤳
- Ȥˤä, `<=>'¾α黻ҤϤѤ
- .
+ӱ黻饹ΤMixin. Υ⥸塼򥤥󥯥롼ɤ뤳
+Ȥˤä, `<=>'黻Ҥ¾α黻ҤϤѤ
+Ǥ.
Methods:
+ self == other
+
+ selfother֤.
+
self > other
selfother礭֤.
@@ -1291,7 +1492,7 @@ Methods:
NDBMե򥢥륯饹. , ǡȤʸǤʤФ
ʤȤ¤, ǡե¸ȤƤ
Dict饹Ʊͤ˰ȤǤ. NDBMƤʤƥǤ
-Υ饹ؤΥ㳰ȯ.
+Υ饹ʤ.
SuperClass: Object
@@ -1326,6 +1527,10 @@ Methods:
ɾͤλ, ܤ.
each
+ each_pair
+
+ [key, value]ʤͿ륤ƥ졼.
+
each_value
ƤvalueФƷ֤ƥ졼.
@@ -1334,12 +1539,8 @@ Methods:
ƤkeyФƷ֤ƥ졼.
- each_pair
-
- [key, value]ʤͿ륤ƥ졼.
-
- includes(key)
has_key(key)
+ includes(key)
keyǡ١¸ߤ, ֤
@@ -1348,11 +1549,19 @@ Methods:
valueͤȤȤǡ١¸ߤ,
֤
+ indexes(ary)
+ indexes(key-1, ..., key-n)
+
+ 1ܤηǤʸȤƼ, Ǥ򥭡
+ ȤǤޤ֤. 2ܤηǤϳưͤ򥭡
+ Ǥޤ֤.
+
keys
ǡ١¸ߤ륭Ƥޤ֤.
length
+ size
ǡ١Ǥο֤. (:ߤμ¸Ǥǿ
뤿˥ǡ١Τ, 빽Ȥ⤤.
@@ -1422,8 +1631,8 @@ Methods:
[key, value]ʤͿ륤ƥ졼.
- includes(key)
has_key(key)
+ includes(key)
key¸ߤ, ֤
@@ -1431,11 +1640,19 @@ Methods:
valueͤȤȤ¸ߤ, ֤
+ indexes(ary)
+ indexes(key-1, ..., key-n)
+
+ 1ܤηǤȤƼ, Ǥ򥭡Ȥ
+ Ǥޤ֤. 2ܤηǤϳưͤ򥭡Ȥ
+ ޤ֤.
+
keys
¸ߤ륭Ƥޤ֤.
length
+ size
Ǥο֤.
@@ -1539,7 +1756,7 @@ Methods:
grep(pattern)
- pattern =~ ǡפΩƤǤޤ֤.
+ =~ patternפΩƤǤޤ֤.
졼ȤѤ줿Ͼ嵭ξΩǤФƥ֥
¹Ԥ.
@@ -1555,13 +1772,13 @@ Methods:
min
- ǾǤ֤. Ǥ`<=>'᥽åɤĤȤۤΤ
- ˲ꤷƤ.
+ ǾǤ֤. ƤǤߤ`<=>'᥽åɤӤǤ
+ 뤳ȤꤷƤ.
max
- Ǥ֤. Ǥ`<=>'᥽åɤĤȤۤΤ
- ˲ꤷƤ.
+ Ǥ֤. Ǥ`<=>'᥽åɤӤǤ뤳Ȥ
+ Ƥ.
reverse
@@ -1626,7 +1843,7 @@ Single Methods:
gecos # gecosե(ʸ)
dir # ۡǥ쥯ȥ(ʸ)
shell # 󥷥(ʸ)
- # ʹߤΥФϥƥˤäƤϤʤΤ⤢
+ # ʹߤΥФϥƥˤäƤ󶡤ʤ.
change # ѥѹ()
quota # ()
age # ()
@@ -1673,9 +1890,9 @@ Single Methods:
*** File(饹)
-ե륢ΤΥ饹. ؿ᥽åopen(). ޤ,
-Υ饹ðۥ᥽åɤȤtestΥեƥȱ黻Υ᥽å
-Ƥ.
+ե륢ΤΥ饹. ᥽åopen(). ޤ,
+饹ðۥ᥽åɤȤtestΥեƥȱ黻Υ᥽åɤ
+Ƥ(FileTest⥸塼Υ᥽åɷ).
SuperClass: IO
@@ -1693,7 +1910,7 @@ Methods:
եΥѡߥåѹ(cf chmod(2)).
- chmod(owner, group)
+ chown(owner, group)
եνͭԤȥ롼פѹ(cf chown(2)). nil-1
ꤹ뤳ȤˤäƽͭԤ䥰롼פ򸽺ߤΤޤѤʤǤ
@@ -1707,7 +1924,7 @@ Methods:
ե˴ؤStat¤Τ֤. lstatϥե뤬ܥ
󥯤ǤХ󥯤ΤΤ˴ؤStat¤Τ֤. ¤
- ƤˤĤƤstat 򻲾ȤΤ.
+ ƤˤĤƤstat򻲾ȤΤ.
mtime
@@ -1727,7 +1944,7 @@ Methods:
0, 1, 2Τ줫Ǥä, 줾եƬ, ߰,
եνüΤΤ줫Ф򼨤.
- stat()
+ stat
ե˴ؤStat¤Τ֤(Struct 򻲾).
@@ -1765,29 +1982,85 @@ Single Methods:
filenameκǽ֤.
- b(filename)
-
- filenameΥե뤬֥åڥեǤ,
- .
-
- c(filename)
-
- filenameΥե뤬饯ڥեǤ,
- ֤.
-
ctime(filename)
filenameκǽơѹ֤.
chmod(mode, path, file...)
- եΥѡߥåѹ(cf chmod(2)).
+ եΥѡߥåѹ(cf chmod(2)). ѹե
+ ֤.
chown(owner, group, file...)
եνͭԤȥ롼פѹ(cf chown(2)). nil-1
ꤹ뤳ȤˤäƽͭԤ䥰롼פ򸽺ߤΤޤѤʤǤ
- ȤǤ.
+ ȤǤ. ѹե֤.
+
+ link(old, new)
+
+ oldؤΥϡɥnew. link(2)Ʊ¤.
+
+ mtime(filename)
+
+ filenameκǽ֤.
+
+ readlink(path)
+
+ ܥåpathƤʸȤ֤.
+
+ rename(from, to)
+
+ ե̾fromtoѹ. rename(2). toȤ̾
+ Υե뤬¸ߤˤϤޤΥե뤬.
+
+ stat(filename)
+
+ filenameΥեStat¤Τ֤.
+
+ symlink(old, new)
+
+ oldؤΥܥånew.
+
+ truncate(path, length)
+
+ pathǻꤵ줿եڤΤƤƺlengthХȤˤ.
+
+ type(filename)
+
+ filenameΥեΥפɽʸ֤. ʸ"file",
+ "directory", "characterSpecial", "blockSpecial", "fifo",
+ "link", "socket"ΤΤ줫ĤǤ.
+
+ unlink(file...)
+
+ ե. ǥ쥯ȥκˤDir.rmdirȤ.
+
+ utime(atime, mtime, file...)
+
+ եΥatime, mtimeꤹ.
+ atime, mtimeϿޤTime饹Υ󥹥󥹤ǤʤФʤ
+ .
+
+ ʳFileTest⥸塼Υ᥽åɤðۥ᥽åɤȤƻ.
+
+*** FileTest(⥸塼)
+
+եƥѥ᥽åɤ򽸤᤿⥸塼. 󥯥롼ɤѤ뤳
+Ǥ.
+
+Methods:
+Single Methods:
+
+ b(filename)
+
+ filenameΥե뤬֥åڥեǤ,
+ .
+
+ c(filename)
+
+ filenameΥե뤬饯ڥեǤ,
+ ֤.
executable(filename)
x(filename)
@@ -1829,14 +2102,6 @@ Single Methods:
filenameΥե뤬åȤǤ, ֤.
- link(old, new)
-
- oldؤΥϡɥnew. link(2)Ʊ¤.
-
- mtime(filename)
-
- filenameκǽ֤.
-
owned(filename)
O(filename)
@@ -1847,15 +2112,6 @@ Single Methods:
filenameΥեɤߤȤǽλ, ֤.
- readlink(path)
-
- ܥåpathƤʸȤ֤.
-
- rename(from, to)
-
- ե̾fromtoѹ. rename(2). toȤ̾
- Υե뤬¸ߤˤϤޤΥե뤬.
-
R(filename)
filenameΥեuid/gidɤߤȤǽλ, ֤.
@@ -1881,24 +2137,6 @@ Single Methods:
filenameΥեstickyӥåȤåȤƤ, ֤.
- symlink(old, new)
-
- oldؤΥܥånew.
-
- truncate(path, length)
-
- pathǻꤵ줿եڤΤƤƺlengthХȤˤ.
-
- unlink(file...)
-
- ե. ǥ쥯ȥκˤDir.rmdirȤ.
-
- utime(atime, mtime, file...)
-
- եΥatime, mtimeꤹ.
- atime, mtimeϿޤTime饹Υ󥹥󥹤ǤʤФʤ
- .
-
writable(filename)
w(filename)
@@ -2002,7 +2240,7 @@ Methods:
coerce(num)
numfloatѴ. FloatǤ¾ο
- FixnumǤ.
+ FixnumBignumǤ.
to_f
@@ -2010,7 +2248,7 @@ Methods:
to_i
- floatѴ̤֤.
+ selfѴ̤֤.
Single Methods:
@@ -2024,13 +2262,9 @@ RubyȤ߹ߤgarbage collectorԤʤΥ⥸塼. Υ
塼Υ᥽åɤѤ뤳Ȥˤä, ŪGCߤ᤿, GCε
륿ߥ󥰤椷Ǥ.
-gcϻϤޤˤΥ⥸塼start_hook᥽åɤ, äˤ
-end_hook᥽åɤƤӽФ, ᥽åɤ뤳Ȥˤä
-hook򤫤뤳ȤǤ.
-
Methods:
- garbage_collect +
+ garbage_collect
GC򳫻Ϥ. GC.startפƱ.
@@ -2048,6 +2282,33 @@ Single Methods:
GC򳫻Ϥ.
+*** Glob(饹)
+
+磻ɥɤΥ饹. 磻ɥɤΥƥ<...>ȤǤ
+. ɽȤۤƱ褦˻Ȥ뤬, ϵǽʤ. ,
+ɥɤŸǽ.
+
+SuperClass: Object
+
+Included Modules: Enumerable
+
+Methods:
+
+ self =~ string
+
+ 磻ɥɤʸ˥ޥåˤϿ, ʤ
+ nil֤.
+
+ each
+
+ 磻ɥɤ˥ޥåե֤̾ƥ졼.
+
+Single Methods:
+
+ new(string)
+
+ ʸ磻ɥɤѴ֥Ȥ֤.
+
*** Integer(饹)
饹. ºݤϤ礭ˤäFixnumBignumĤΥ֥饹
@@ -2096,7 +2357,7 @@ Methods:
:
- $stdout << 1 << " is a " << Fixnum
+ $stdout << 1 << " is a " << Fixnum << "\n"
close
@@ -2115,6 +2376,7 @@ Methods:
FixnumǤ.
fileno
+ to_i
IO֥ȤȤäƤեǥץ(Fixnum)֤.
@@ -2125,7 +2387,7 @@ Methods:
getc
ɤ߹, ɤ߹ߤˤϤʸ֤. ե
- νãˤnil֤. ؿŪ᥽åɤgetc()
+ νãˤnil֤. ͥ᥽ågetc()
$stdin.getcƱ̣Ǥ.
gets
@@ -2146,6 +2408,10 @@ Methods:
lengthХɤ߹, ʸ֤. lengthά줿
ˤ, ƤΥǡɤ߹.
+ readlines
+
+ եɤ߹dzƹԤǤȤƤ֤.
+
sync
ߤνƱ⡼ɤ򿿵֤ͤ. Ʊ⡼ɤλϽϴ
@@ -2158,16 +2424,17 @@ Methods:
sysread(length)
stdioͳread(2)ѤϤԤʤ. Ϥ줿ǡ
- ޤʸ֤. եνãˤnil֤.
+ ޤʸ֤. եνãˤnil֤.
read(2)ˤɬlengthХȤʸɤ߹ޤ櫓
ǤϤʤ. gets()getc()ʤstdioͳ᥽åɤȺѤ
- ȤϥХåե󥰤ʤɤ, פư򤹤뤳Ȥ.
+ ȤϥХåե󥰤ʤɤǻפư򤹤뤳Ȥ.
syswrite(str)
- stdioͳ, wirte(2)ѤƽϤԤʤ. Υ᥽å
- ϥХåե󥰤ʤstdioƤ뤳ȤϰڹԤʤʤ.
- print()printf()syswrite()ѤΤϿ侩Ǥʤ.
+ stdioͳ, write(2)ѤƽϤԤʤ. Υ᥽å
+ ϥХåե󥰤ʤstdioƤ뤳ȤϰڹԤʤʤ.
+ syswriteϼºݤ˽񤭹Хȿ֤. print()printf()
+ syswrite()ѤΤϿ侩Ǥʤ.
write(str)
@@ -2179,14 +2446,14 @@ Single Methods:
printprintfΥǥեȤν֤. ͤ$stdout.
- default=
+ default=(io)
ǥեȤνꤹ.
*** Kernel(饹)
-ƤΥ饹δ쥯饹. RubyȤ߹ߤƤδؿŪ᥽åɤϤΥ
-饹Ƥ.
+ƤΥ饹δ쥯饹. RubyȤ߹ߤƤδؿŪ˸ƤФ᥽å
+ϤΥ饹Ƥ.
SuperClass: ʤ
@@ -2197,8 +2464,8 @@ Methods:
. Non-nilΥ֥Ȥξ˵(nil)֤. Υ᥽
ɤNil饹ǤϺ쿿֤.
- equal(other)
self == other
+ equal(other)
֥ȤΰȽ. 쥷ФȰΰפ,
֤. Kernel饹ǤΥ֥ȤƱλ
@@ -2217,13 +2484,13 @@ Methods:
self =~ other
- ޥå. ǥեȤ"=="ƱǤ. "=~"caseӤˤѤ
- .
+ ޥå. ǥեȤư"=="ƱǤ. "=~"caseӤ
+ Ѥ.
!~
- "=~". "=~"᥽åɤƤӽФƤΤ,
- ɬפϤʤ.
+ "=~". "=~"᥽åɤƤӽФƤΤ, Ϻ
+ ɬפϤʤ.
self :: other
@@ -2254,7 +2521,7 @@ Methods:
֥ȤΥϥå(Fixnum)֤. Dict饹ǥȤʤ
֥ȤǼΤѤƤ.A == BפΩ
ɬA.hash == B.hashפΩɬפΤ, "=="
- ˤϤ⤽˹碌ƺ뤳.
+ ˤɬ⤽˹碌ƺ뤳.
*** Math(⥸塼)
@@ -2309,7 +2576,7 @@ SuperClass: Object
Methods:
- attr(name[, public]) +
+ attr(name[, public])
Υ⥸塼򥤥󥯥롼ɤ饹Υ󥹥󥹤Ф
nameǻꤵ°ղä, °Ф륢᥽åɤ
@@ -2390,6 +2657,10 @@ Methods:
Ⱦ;2Ǥ֤.
+ next
+
+ ο֤. οȤϤοۤǾǤ.
+
*** Object(饹)
Ƥ̾說饹Υѥ饹. Υ饹Υ֥饹Ǥʤ饹
@@ -2410,9 +2681,9 @@ Methods:
clone
- ֥Ȥʣ. FixnumʳΥ饹ξ, 餯
- obj.eqaul(obj.clone)פϵǤ뤬, ¿ξobj ==
- obj.cloneפϿǤ.
+ ֥Ȥʣ. 󥹥󥹤¨ͤǤFixnum饹
+ ʳΥ饹ξ,obj.equal(obj.clone)פϵǤ뤬, ¿
+ ξobj == obj.cloneפϿǤ.
to_s
@@ -2587,7 +2858,7 @@ Single Methods:
ɽΥ饹. ɽΥƥ/.../Ȥɽ, ưŪ
뤿ˤ
- Regexp.compile(ʸ)
+ Regexp.new(ʸ)
Ȥ. , String饹`=~'ϤȤ¿Υ᥽åɤɽ
ؤʸͿ줿ˤŪɽΤ,
@@ -2598,7 +2869,6 @@ SuperClass: Object
Methods:
-
self =~ string
ɽʸ˥ޥå, ޥå֤֤. ޥå
@@ -2611,6 +2881,7 @@ Methods:
Single Methods:
complie(string)
+ new(string)
ʸɽѴ֥Ȥ֤.
@@ -2646,7 +2917,7 @@ Methods:
åȤΰʹߤ³λ. how0Ǥ, ʹߤμ,
how1Ǥ, ʹߤݤ. how2λˤ,
- ʹߤ, Ȥ˵ݤ.
+ ʹߤ, Ȥ˵ݤ. shutdown(2)򻲾.
*** String(饹)
@@ -2758,47 +3029,28 @@ Methods:
Ѵ.
length
+ size
ʸĹ(Хȿ)֤.
next
- ּΡʸ֤. ʸȤϿϿȤ,ʸ
- ʸȤä, 夬νԤʤ줿ԤǤ.
-
- "aa".next == "ab"
- "99".next == "100"
- "a9".next == "b0"
-
- Υ᥽åɤRange:eachѤƤΤ, ʲΤ褦ʽ
- ǽǤ.
-
- for i in "a" .. "ba"
- print(i, "\n");
- end
-
- a, b, c, .. aa, .. az, baޤǤƹԤ˽Ϥ.
-
-
- դʤФʤΤ, νλȽ羮طǤϤʤ
- `=='ȽꤵƤ뤿, `..'黻Ҥκդͤ³ʸ˱
- դʸ󤬴ޤޤƤʤ, ʲΤ褦ʾ̵¥롼פ
- ٤äƤޤ.
-
- for i in "0" .. "1a"
- print(i, "\n");
- end
+ selfendޤǡּΡʸ֤. ʸȤϿϿ
+ Ȥ,ʸϱʸȤä, 夬νԤʤ줿
+ ΤǤ.
- ԤϤ񤯤ȤˤäǤƨƤ褦ȤƤȹͤ
- ⤤뤫⤷ʤ. ο¬.
+ "aa".next => "ab"
+ "99".next => "100"
+ "a9".next => "b0"
oct
ʸ8ʿɽʸȲᤷ, Ѵ. 8ʿ
- /[0-7]+/Ǥ, ƤϤޤʤʸФƤ
- 0֤. perlȤϰäʸ0xϤޤäƤ뤫Ȥä
- 16ʿȸʤƤ줿Ϥʤ. 8ʿǤϤʤΤ0
- ֤.
+ /[0-7]+/Ǥ, ʸƬ餳Υѥ˥ޥå
+ ʬѴ. ƤϤޤʤʸФ
+ Ƥ0֤. perlȤϰäʸ0xϤޤäƤ뤫Ȥ
+ 16ʿȸʤƤ줿Ϥʤ. Ƭ08ʿ
+ ǧ, 0֤.
reverse
@@ -2844,6 +3096,16 @@ Methods:
Ƥ֤. sub()gsub()Ȱۤʤ, ǽΥޥå
ִ.
+ sum([bits])
+
+ ʸbitsӥåȤΥå. άͤ16Ǥ. ruby
+ ǤϰʲΥɤSystem V`sum'ץƱͤ.
+
+ while gets()
+ sum += $_.sum
+ end
+ sum %= 65536
+
to_f
ʸFloatѴ.
@@ -2918,6 +3180,36 @@ Methods:
X 1Хȸ
@ а֤ؤΰư
+ rubyunpackperlȰäƥåη׻ǽʤȤ
+ դ뤳.
+
+ upto(end)
+
+ selfϤޤä, endޤǡּΡʸͿ륤ƥ졼.
+ ʸȤstr.nextͿʸǤ.
+
+ Υ᥽åɤRange:eachѤƤΤ, ʲΤ褦ʽ
+ ǽǤ.
+
+ for i in "a" .. "ba"
+ print(i, "\n");
+ end
+
+ a, b, c, .. aa, .. az, baޤǤƹԤ˽Ϥ.
+
+
+ դʤФʤΤ, νλȽ羮طǤϤʤ
+ `=='ȽꤵƤ뤿, `..'黻Ҥκդͤ³ʸ˱
+ դʸ󤬴ޤޤƤʤ, ʲΤ褦ʾ̵¥롼פ
+ ٤äƤޤ.
+
+ for i in "0" .. "1a"
+ print(i, "\n");
+ end
+
+ ԤϤ񤯤ȤˤäǤƨƤ褦ȤƤȹͤ
+ ⤤뤫⤷ʤ. ο¬.
+
Single Methods:
new(string)
@@ -2930,20 +3222,24 @@ Single Methods:
ǡޤȤˤ󥯥饹Ѥ뤳Ȥ⤢뤬(: select),
¤ΤȤ٤ϰʲΤ褦ʾǤ.
- (1) Ǥο¿
+ (1) Ǥο
+
+ ǤοưΤϹ¤ΤȤΤˤϸʤ.
+
+ (2) Ǥο¿
ʹ֤٤ưפ˰복ǰο7ĤޤǤǤȤ⤬.
- β˽, ǡ4İʾξѤ,
- *2(ĤޤꥪեåȤȤΰ̣)7ۤ. ä, Τ褦
- ˤϹ¤ΤȤä򤷤䤹Ȼפ.
+ β˽, Ǥ4İʾ夢ǡξѤ
+ , ǿ*2(ĤޤꥪեåȤȤΰ̣)7ۤ. ä,
+ Τ褦ʾˤϹ¤ΤȤä򤷤䤹Ȼפ.
- (2) Ʊ̤ʤ
+ (3) Ʊ̤ʤ
- ¤Τ㴳Ȥ⤤Τ, ®٤ˤʤ
- ˤ, (Ʊ̤ʤ)Ϲ¤ΤλѤŬڤǤʤ
+ ¤Τ㴳Ȥ⤤Τ, ®٤ˤʤ
+ (㤨Ʊ̤ʤ)Ϲ¤ΤλѤŬڤǤʤ
ǽ.
-ƹ¤Τˤϥ̾Ʊ̾ΰΤʤ᥽åɤƤ.
+ƹ¤Τˤϥ̾Ʊ̾ΰΤʤ᥽åɤ.
ܥɥ, ¤Τɽ뤿ˤϰʲηȤ.
@@ -3079,8 +3375,7 @@ Included Modules: Comparable
Methods:
- self == other
- self > other
+ self <=> other
otherTimeΥ󥹥󥹤. Ϳ줿
ˤ1970ǯ 1 1 00:00:00 GMTÿǤ
@@ -3107,7 +3402,7 @@ Methods:
localtime
ॾνԤʤä(ǥե). localtime
- ⼫ʬȤ֤.
+ ϼʬȤ֤.
to_i
tv_sec