diff options
author | Yukihiro Matsumoto <matz@ruby-lang.org> | 1995-02-01 19:48:24 +0900 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2019-08-17 22:09:31 +0900 |
commit | 897cf066952978ccbae1d57bbc14a03c7b98a1e1 (patch) | |
tree | bc83424954929dc9574e40a0aee874f45965a8ae /spec | |
parent | 5d828b25d4ae30a000c054a724ac248dadbb97b3 (diff) |
version 0.65v0_65
https://cache.ruby-lang.org/pub/ruby/1.0/ruby-0.65.tar.gz
Wed Feb 1 19:48:24 1995 Yukihiro Matsumoto (matz@ix-02)
* string.c(str_replace): 置き換える文字列の長さが等しい時メモリコ
ピーをしない.
* string.c(rindex): バグ修正.
Mon Jan 30 11:23:05 1995 Yukihiro Matsumoto (matz@ix-02)
* parse.y(value_expr): ifのチェックを追加.
* gc.c(gc_mark): free cellの扱いにバグ.
* parse.y: 文法の変更(よりシンプルに).例外を減らした.
Thu Jan 26 00:52:55 1995 Yukihiro Matsumoto (matz@dyna)
* parse.y: 引数として連想配列を置くことができるように.この場合,
連想配列リテラルが最終引数となる.
* parse.y: 配列参照の`[]'内が空でもよいことにした.
Tue Jan 24 14:45:15 1995 Yukihiro Matsumoto (matz@ix-02)
* class.c(rb_include_module): `-v'を指定した時にはincludeしたモジュー
ルとクラス定数が衝突していないかチェックする.
Mon Jan 23 10:42:09 1995 Yukihiro Matsumoto (matz@ix-02)
* parse.y(rb_class2name): メタクラスに関するbug fix.
* dict.c: Dict[..]で辞書の生成が出来るように.
* array.c: Array[..]で配列の生成が出来るように.
* parse.y: 辞書の表現として{a,b,..}という形式も許すように.
Fri Jan 20 10:28:38 1995 Yukihiro Matsumoto (matz@ix-02)
* re.c(Regexp.quote): 正規表現をエスケープするメソッド.
* 無駄なrb_intern()を減らした.
* parse.y: `!', `!=', `!~'を特殊演算子にする.よってこれらは再定義
できなくなった.
Wed Jan 18 13:20:41 1995 Yukihiro Matsumoto (matz@ix-02)
* parse.y: 文法の整理(unless,untilをなくした).
Tue Jan 17 11:11:27 1995 Yukihiro Matsumoto (matz@ix-02)
* eval.c: defでメソッド再定義時にはスーパークラスのメソッドの可視
性を継承する.最初の定義の時は今までと同じデフォルト(トップレベ
ルで関数的,クラス定義内で通常メソッド).
* object.c(Class::new): オブジェクトの生成時に関数的メ
ソッドinit_objectが必ず呼ばれるように変更.
* eval.c: 未定義のメソッドに対してunknownメソッドが呼ばれるように
なった.エラー表示が今までと同じになるようにenvを調節している.
Fri Jan 13 14:40:30 1995 Yukihiro Matsumoto (matz@ix-02)
* gc.c: gcを若干書き換えて整理した.が,あまり変化はなかったようだ.
* parse.y(yylex): symbolを\symから:symに変更した.
Thu Jan 12 01:39:28 1995 Yukihiro Matsumoto (matz@dyna)
* eval.c: 新規関数 rb_eval_string().
* gc.c: gc_mark()を一部非再帰化.
* variable.c(rb_ivar_{get,set}): インスタンス変数のアクセス周りで
チェックが足りなかった.
* variable.c: クラス定数とインスタンス変数でハッシュテーブルを共有
するようにした.
* ruby.h: iv_tblをRBasicからRObjectとRClassへ移動した.これにより,
ObjectとClass,Moduleしかインスタンス変数を持てなくなる.が,メモ
リ効率は若干向上する.
Diffstat (limited to 'spec')
-rw-r--r-- | spec | 1109 |
1 files changed, 687 insertions, 422 deletions
@@ -1,6 +1,6 @@ .\" spec - -*- Indented-Text -*- created at: Tue May 25 15:18:26 JST 1993 -* Ϥ(ʤRuby?) +* Ϥ RubyϡUNIXǼڤ˥֥ȻظץߥפȤ˾ ¸뤿ޤ줿ΤɬפȻפ줿: @@ -41,57 +41,75 @@ RubyΥ֥ȻظǽˤĤƳؤ٤С궯ϤʤȤǤ褦 Ǥ뤷ǤʤƤRubyƥѥ뤷Ȥ߹ߥ ɲäΤưפǤ(PerlʤɤϤ뤫ưפǤ) -* Rubyʸˡ +* Lexical structure -ǤRubyʸˡ⤹롥RubyδŪʬϾʸˡ -ʤΤǿȤˤĤΤϤۤʤ +ߤrubyμϥ饯åȤȤASCIIѤ롥rubyʸ +ʸ̤롥̻ҤǤʤǤդΤȤ˶ʸ +Ȥ롥ʸϥڡ(space)(tab)ľ(vertical +tab) CR(carriage return)(form feed)Ǥ롥(newline) +˼³ˤ϶ʸȤơʳǤʸζڤȤƲ +ᤵ롥 + +̻Ҥϱʸ("_"ޤ)Ϥޤꡤѿ³ΤǤ롥ruby +̻ҤŤϤʤߤμϼ̻ҤȤƥޥХȥ +(EUC,SJIS)̤ʤ + +Хѿ̾"$"³̻Ҥޤϵ1ʸѿ +"@"³̻ҡ饹"%"³̻ҤǤ롥å̾ +ѿ̾ȥ饹̾ñʤ뼱̻ҤѤ롥 ** -ץȸνˤʤ餤ʸʳ'#'ޤǤϥ -ȸʤ +ץȸνˤʤ餤ʸʸɽ(?#)ʳ`#' +ޤǤϥȤȸʤ + +** ͽ + +ͽϰʲ̤Ǥ + + alias else in resque when + and elsif include retry while + break end module return yield + case ensure nil self __END__ + class fail or super __FILE__ + continue for protect then __LINE__ + def if redo undef -** ڤ국 +ͽϥ饹̾å̾ѿ̾ʤɤѤ뤳ȤϤǤʤ -ʸ(֤ȥڡ)Ӳ(\n)ڤ국Ȥʤ롥 -Ԥ +** ڤʸ + +ʸʤɤΥƥʳξζʸ(֤ȥڡ)Ӳ +(\n)ڤ국Ȥʤ롥˲Ԥ a + b -Τ褦˹Ԥ(ʸ)ǽꡤιԤ³Ȥʾʳʸ -ڤȤƤǧ롥 +Τ褦˹ԤǽꡤιԤ³Ȥʾζ +ڤȤƤǧ롥 -** ͽ +* ץ -ͽϰʲ̤Ǥ +: - alias elsif module self yield - and end nil super __END__ - break ensure or then __FILE__ - case fail protect undef __LINE__ - class for redo unless - continue if resque until - def in retry when - else include return while + print "hello world!\n" -ͽϥ饹̾å̾ѿ̾ʤɤѤ뤳ȤϤǤʤ +ץϼ¤٤ΤǤ롥ȼδ֤ϥߥ(`;')ޤϲ +ԤǶڤ() -** + ιԤ˷³뤳ȤʻˤϲԤϼζڤˤʤʤ -RubyץǤϼʸǤ롥ޤ⤹롥 +* -*** ƥ +RubyǤnilʳɾ롥CPerl ʤɤȤϰۤʤꡤ0 +""(ʸ)ϵȤɾʤΤǵĤ뤳ȡ -ץľܵҤǤ륪֥ȤƥȸƤ֡RubyΥƥ -ˤʸɽͤȤƥ뤬롥 - -**** ʸƥ +** ʸ "..." # ХååβѿŸ '...' # Хååβʤ(\\\'ϲ᤹) -**** Хåå嵭ˡ +Хåå嵭ˡ \t (0x09) \n ʸ(0x0a) @@ -108,14 +126,21 @@ RubyץǤϼʸǤ롥ޤ⤹롥 \M-c ʸ(c|0x80) \ʳ ʸΤ -**** ѿŸ +ѿŸ ֥륯(`"')ǰϤޤ줿ʸɽǤ `#{ѿ̾}'Ȥ ѿƤŸ뤳ȤǤ롥ѿѿ(`$',`@',`%') ǻϤޤˤ`#ѿ̾'ȤǤŸǤ롥ʸ`#'³ʸ `{',`$',`@',`%'ǤʤСΤޤ`#'ȤƲᤵ롥 -**** ɽƥ +** ޥɽ + +RubyǤshΤ褦˥ޥɤμ¹Է̤ʸƥΤ褦˻ȤȤ +Ǥ롥``ǰϤޤ줿ʸϡ֥륯ȤƱͤ˥Хåå嵭 +ˡβѿŸԤʤ줿塤ޥɤȤƼ¹Ԥ졤μ¹Է +ʸȤͿ롥ޥɤɾ뤿Ӥ˼¹Ԥ롥 + +** ɽ /.../ @@ -139,18 +164,20 @@ RubyץǤϼʸǤ롥ޤ⤹롥 | ( ) ɽޤȤ -¾ʸƱХåå嵭ˡͭǤ롥 +¾ʸƱХåå嵭ˡѿŸͭǤ롥 -**** 磻ɥɥƥ +** 磻ɥɼ <...> * Ǥդʸ(ʸޤ)Ȱ ? Ǥդ1ʸȰ [ ] []Τ줫1ʸȰ - {..} {}Τ줫ʸȰ + {..} {}(ޤǶڤ줿)줫ʸȰ + +¾ʸƱХåå嵭ˡѿŸͭǤ롥 -**** ͥƥ +** ͥƥ 123 -123 (Ĥ) @@ -164,19 +191,12 @@ RubyץǤϼʸǤ롥ޤ⤹롥 ?\M-a aΥ(225) ?\M-\C-a -ȥaΥ(129) - \ܥ ̻/ѿ̾Ȱабapplyʤɤǥ - ɤꤹΤ˻Ȥ + :ܥ ̻/ѿ̾/黻ҤȰабapplyʤ + ǥåɤꤹʤɤ˻Ȥ ?ɽǤƤΥХåå嵭ˡͭǤ롥 -*** ޥɤν - -RubyǤshΤ褦˥ޥɤμ¹Է̤ʸƥΤ褦˻ȤȤ -Ǥ롥``ǰϤޤ줿ʸϡ֥륯ȤƱͤ˥Хåå嵭 -ˡβѿŸԤʤ줿塤ޥɤȤƼ¹Ԥ졤μ¹Է -ʸȤͿ롥ޥɤɾ뤿Ӥ˼¹Ԥ롥 - -*** ѿ +** ѿ Rubyѿϥ(ͭϰ)ȼ̿(ͭ)ˤä4ʬव졤 μѿ̾κǽΰʸǷꤵ롥̾ѿ2ʸܰʹߤ @@ -184,20 +204,35 @@ Rubyѿϥ(ͭϰ)ȼ̿(ͭ)ˤä4ʬव졤 ѿ롥ѿ̾Ĺ˴ؤ̤¤Ϥʤ ѿΥפ˴ؤ餺ƤʤѿȤͤnil -Ǥ롥 +Ǥ롥μѿɬפʤ -**** Хѿ +*** Хѿ + +: + + $foobar + $/ `$'ǻϤޤѿΥפϥХǤꡤץΤɤǤ ȤǤ롥μ̿ϥץμ̿ -**** ѿ +*** ѿ + +: + + @foobar `@'ǻϤޤѿϥѿǤꡤΥ饹ޤϥ֥饹 åɤ黲ȤǤ롥פϥåǤꡤμ̿ϥ֥ Ȥμ̿ -**** 饹̾/⥸塼̾/ѿ +*** 饹̾/⥸塼̾/ѿ + +: + + Array + Math + foobar ե٥åȤޤ`_'ǻϤޤѿϼ̻ҤȤƤФ졤ѿ 饹̾ޤϥ⥸塼̾Ǥ롥 @@ -231,15 +266,18 @@ Rubyѿϥ(ͭϰ)ȼ̿(ͭ)ˤä4ʬव졤 ѿΥפ̿⤽Υ֥åνޤ(ȥåץ٥Υ ѿϥץνλޤ)Ǥ롥 -**** 饹ѿ() +*** 饹 -`%'ǻϤޤѿϥ饹ѿǤꡤΥ饹ƤΥ֥饹Υ -黲ȤǤ롥ѿؤϥȥåץ٥롤ʤ -ɤǤ٥ǤΤ߲ǽǤ롥ѿϥ饹֤ͤͭ졤 -ȥåɤͤѹ뤳ȤǤʤΤǡȤ -Ѥ롥 +: + + %foobar + +`%'ǻϤޤѿϥ饹ǤꡤΥ饹ƤΥ֥饹Υ +黲ȤǤ롥ؤϥȥåץ٥롤ʤåɤ +Ǥ٥ǤΤǽǤ롥ѿϥ饹֤ͤͭ졤 +ͤѹ뤳ȤǤʤ -**** ѿ +*** ѿ ̾ѿʳ˵ѿȸƤФüѿ4Ĥ롥 @@ -251,31 +289,109 @@ Rubyѿϥ(ͭϰ)ȼ̿(ͭ)ˤä4ʬव졤 εѿˤäƤͤѹ뤳ȤϤǤʤ ѿؤ㳰ȯ롥 -*** å +** ̤ˤ륰롼ԥ + +: + + (1+2)*3 + (foo();bar()) + +ϳ̤ˤäƥ롼ԥ뤳ȤǤ롥 + + `(' `)' + +̤ˤñʤ뼰ǤϤʤ¤(ץ)֤Ȥ +롥 + + `(' `;' ... `)' + +¤ӤͤϺǸɾͤǤ롥ĤޤͤϺǸɾ +ͤˤʤ롥 + +** + +: + + [1, 2, 3] + +Array饹ΥǤ롥뼰ϰʲη +롥 + + `[' , ... `]' + +줾μɾ̤ޤ֤ǿ0ζ +뤿ˤ϶ + + `[' `]' + +Ѥ롥 + +** Ϣ + +: + + {1=>2, 2=>4, 3=>6} + +ϢȤǤդΥ֥Ȥ(ź)ȤƻǤ롥Ruby +ϢDict()饹ΥǤ롥ܺ٤ϥ饹Dictι +Ȥ줿ϢϢϰʲηǤ롥 + + `{' `=>' ... `}' + +줾μɾ̤ͤȤϢ֥Ȥ֤ +ǿ0Ϣ뤿ˤ϶Ϣ + + `{' `}' + +Ѥ롥Ǥ1İʾ夢硤ۣǤʤ`{', `}'ϾάǤ롥 + +** åɸƽм + +: + + foo.bar() + foo.bar + bar() ֥Ȥ˥åŪʹʸåǤꡤδ ܷϰʲ̤Ǥ롥 - 1 '.' å̾ '(' 1... [',' '*' n ]')' + 1 `.' å̾ `(' 1... [`,' `*' n ]`)' 1ɾ륪֥ȤΡ̻ҤǻꤵåɤƤ -ФֺǸΰ'*'³(ñ)Ǥ硤μɾ -(Ǥɬפ)ŸơȤɲä롥 +ФֺǸΰ`*'³(ñ)Ǥ硤μɾ +(ǤʤѴ)ŸơȤɲä롥 + +åǡ쥷Фselfξ硤쥷Фά̾Υץ +ߥˤؿΤ褦ʷǥåɤƤӽФȤǤ롥 -Ĥʤˤϳ̤άǤ롥 +åɸƤӽФǤۣ椵ʤˤϳ̤άǤ롥ۣ椵 +ȤʲʸޤͽǻϤޤǤ롥 + + (, [, {, <, /, %, +, -, if, while + +㡧 + foo bar+baz # åɸƤӽФfoo(bar+baz) + foo (1+2)*5 # åɸƤӽФ(foo(1+2)) * 5 + foo 1 # åɸƤӽФfoo(1) + foo -1 # ѿfoo - 1 + +쥷ФꤷåɸƤӽФǤϤξ1Ĥʤˤ +άǤ롥 å̾ȤƤǤդμ̻ҤѤ뤳ȤǤ롥ѿ̾Ȥϼ̻Ҥ ֤̾㤦ΤǽʣƤʤ -åǡ쥷Фselfξ硤쥷Фά̾Υץ -ߥˤؿΤ褦ʷǥåɤƤӽФȤǤ롥 -ξ1ĤʤǤ̤ξάϤǤʤ - -饹ʸγǻꤵ줿åɤȥ饹Modulenoexportåɤ +饹ʸγǻꤵ줿åɤȥ饹Moduleunexportåɤ ꤵ줿åɤϴؿŪåɤȸƤФ졤ؿǤƤӽФ -Ǥʤ +Ǥʤ(DEF) + +** SUPER -*** ѡ饹ΥåɸƤӽФ +: + + super + super(1,2,3) åüʥȤƥѡ饹ΥåɤθƤӽФ 롥ηϥåɤ˥ѡ饹Ѥ뤿 @@ -284,70 +400,106 @@ Rubyѿϥ(ͭϰ)ȼ̿(ͭ)ˤä4ʬव졤 super ߤΥåɤͿ줿Τޤޥѥ饹Ʊ̾ΥåɤƤ -Ф +ФȤͿ줿ѿͤѹƤ⡤ϤΤϸΰ +ͤǤ롥 - super'(' ... ')' + super`(' ... `)' ȤȤ˥ѡ饹Ʊ̾ΥåɤƤӽФֺǸΰ -`*'³̾ΥåɸƤӽФƱͤϤ롥 +`*'³̾ΥåɸƤӽФƱͤŸϤ롥 -*** /Ϣ +** -Υ֥Ȥ뼰ηϰʲηǤ롥 +: - '[' , ... ']' + foo = bar + foo[0] = bar + foo.bar = baz -줾μɾ̤ޤ֤ǿ0ζ -뤿ˤ϶ +ˤѿФ()ȡץñˤ뤿Υ +å奬ȤƤ롥ϰʲηǤ롥 - '[' ']' + ѿ `=' -Ѥ롥 +ϼɾѿͤȤ롥饹⥸塼䵿ѿ +ˤǤʤ饹⥸塼ѹ뤿ˤclass +moduleѤ롥ϱ黻ҷȤäƤ뤬åɤǤϤʤ +Ǻ뤳ȤϤǤʤ -** Ϣ +å奬ȤƤϰʲΤΤ롥 -ϢȤǤդΥ֥Ȥ(ź)ȤƻƤǤ롥Ruby -ǤϢSmalltalkѸڤDict()ȤƤФ롥ܺ٤ϥ -饹DictιȤ줿ϢϢϰʲη -롥 +Ǥؤ - '{' '=>' ... '}' + 1`[' 2... `]' `=' n -줾μɾ̤ͤȤϢ֥Ȥ֤ -ǿ0Ϣ뤿ˤ϶Ϣ +1ɾ륪֥Ȥˡ2鼰nޤǤȤơ"[]=" +ȤåɤƤӽФ - '{' '}' +° -Ѥ롥 + 1 `.' ̻ `=' 2 + +1ɾ륪֥(쥷Фά줿`self') +Фơ"̻="Ȥåɤ 2ȤƸƤӽФ + +** + +: + + foo += 12 + +ͤΤΤ˱黻ä뤿˼롥 + + 1 op= 2 # 1ǽǤʤФʤʤ + +ηŪˡּ1 = 1 op 2פƱͤɾ롥1 +1ɾʤΤǡ1Ѥϡּ1 = 1 op 2 +Ȥưۤʤ̤Ȥʤ롥opȤƻȤ黻Ҥ + + +, -, *, /, %, **, &, |, ^, <<, >> + +11Ǥ롥黻Ҥ`='δ֤˥ڡƤϤʤ -*** ȡ +** ¿ -(Ϣޤ)ǤλȤϰʲηǹԤʤ +: - 1 '[' 2... ']' + foo, bar, baz = 1, 2, 3 + foo, = list() + foo, *rest = list2() -ηŪˡ1"[]"ȤåȲᤵ롥 -ưŪʥɤǵҤаʲΤ褦ˤʤ롥 +ƱʣѿԤʤȤǤ롥ηϰʲ̤Ǥ롥 - 1"[]"(2...) + `,' [ `,' ...] [`*' ]= [, ...] -Ǥ +դμĤʤϡͤȤ(ɬפʤto_a +ɤѴ)Ǥ줾캸դ롥ʳξˤϡ +줾μͤդ롥դοȱդǤοʤ +ˤʤѿˤ nil졤;äǤ̵뤵롥¿ +κǸǤ`*'硤ĤưȤ롥 - 1 '[' 2... ']' '=' n + 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."[]="(2...) +** 黻Ҽ -ȤȤƲᤵ롥 +: -*** 黻ҷ + 1+2*3/4 ץߥؤΤ˰ΥåɸƤӽФ湽¤ϱ黻ҷ Ȥ롥Rubyˤϰʲˤ黻Ҥ롥ΤΤۤɷ̤ Ʊα黻Ҥη̤ƱǤ롥 - -(unary) +(unary) ! ~ + [](), []=() + -(unary) +(unary) ! ~ ** * / % + - @@ -362,110 +514,77 @@ Rubyѿϥ(ͭϰ)ȼ̿(ͭ)ˤä4ʬव졤 :: =() (+=, -=, ..) and - or + or + if while ۤȤɤα黻ˤϥåɸƤӽФȤƲᤵ(饹˺ Ǥ)ǤʤüʤΤ롥Ǥʤü黻 Ҥ - &&(), ||(), =(), ...(ϰϻ), and, or + =(), ...(ϰ), !(), &&(), and, |(), or, + if, while -6ĤǤ롥 +9Ĥα黻ҤȤȤȤ߹碌ˤʤ !=, !~ Ӽ黻 +Ǥ롥 -Ǥü黻Ұʳα黻ҷϥåɸƤӽФȸʤ롥 -ñ黻(+, -, !, ~) - - 1."黻"() - -Ȥˡʳ2黻Ҥ - - 1."黻"(2) - -˲ᤵ롥 - -** +Ǥü黻Ұʳα黻ҷϰʲΤ褦ʥåɸƤӽФȸ +ʤ롥 -ˤѿФ()ȡץñˤ뤿Υ -å奬ȤƤ롥ϰʲηǤ롥 - - ѿ '=' +ñ黻(+, -, ~) -ϼɾѿͤȤ롥饹⥸塼䵿ѿ -ˤǤʤ饹⥸塼ѹ뤿ˤclassʸ -moduleʸѤ롥ϱ黻ҷȤäƤ뤬åɤǤϤʤ -Ǻ뤳ȤϤǤʤ + 1. 黻 () -å奬ȤƤϰʲΤΤ롥 +(Ϣޤ)Ǥλ(1 `[' 2... `]') -Ǥؤ + 1. `[]' (2...) - 1'[' 2... ' ]' '=' n +Ǥ( 1 `[' 2... `]' `=' n) -1ɾ륪֥Ȥˡ2鼰nޤǤȤơ"[]=" -ȤåɤƤӽФ + 1. `[]=' (2...) -° +ʳ2黻( 黻 ) - 1 '.' ̻ '=' 2 + 1. 黻 (2) -1ɾ륪֥ȤФ"̻="Ȥåɤ -2ȤƸƤӽФ +ϤޤǤ⤽ΥåɸƤӽФȤƲᤵȤ +ǡrubyץǤҤȤ櫓ǤϤʤ - - - 1 op= 2 # 1ǽǤʤФʤʤ - -ηŪˡּ1 = 1 op 2פƱͤɾ롥1 -1ɾʤΤǡ1Ѥϡּ1 = 1 op 2 -Ȥưۤʤ̤Ȥʤ롥opȤƻȤ黻Ҥ - - +, -, *, /, %, **, &, |, ^, <<, >> - -11Ǥ롥黻Ҥ`='δ֤˥ڡƤϤʤ - -*** ʬ - -ͤˤäʬ뼰ϰʲ˼ifunlesscaseʣʸ -3ȱ黻ҷ3ढ롥RubyǤnilʳɾ롥 -CPerlʤɤȤϰۤʤꡤ0 ""(ʸ)ϵȤɾʤΤǵ -뤳ȡ - -if +** IF if 1 [then] - ʸ1 + 1 [elsif 2 [then] - ʸ2 ]... + 2 ]... [else - ʸn ] + n ] end -ȽǼ1ξʸ1ɾ롥ʳξʸ2ɾ +ȽǼ1ξ˼1ɾ롥ʳξϼ2ɾ 롥Rubyifelse ifǤelifǤʤelsififϢ³ԤʤȤ դ뤳ȡ -unless +ifξȽμǤʸɽƥϼ$_=~ ƥפ +άǤȤߤʤ롥 - unless 1 [then] - ʸ1 - [else - ʸ2 ] - end +** IF + + if -1(nil)֤2ɾ㳰ȯʸ1ɾ롥 -ʳξʸ2ɾ롥 +、(if)μԤ뼰äɾ롥ưбif +ƱͤǤ롥ifҤΤĤͤϾ郎Ωˤϼ͡ +ΩξˤnilǤ롥 -case +** CASE case 0 [when 1 [, 2]... [then] - ʸ1 ].. + 1 ].. [else - ʸn ] + n ] end ʬCswitchPascalcase˻Ƥ롥breakæФ뤳Ȥ -ʸ˷³뤳ȤʤΤա +μ˷³뤳ȤʤΤա ΰפϡּn =~ 0]ǹԤʤ롥Ĥޤꡤ @@ -478,7 +597,7 @@ case stmt3 end -ϰʲifʸȤۤǤ롥 +ϰʲifȤۤǤ롥 _tmp = expr0 if expr1 =~ _tmp || expr2 =~ _tmp @@ -489,67 +608,77 @@ case stmt3 end -黻ҷ +** AND - 1 '&&' 2 - 1 'and' 2 + 1 `&&' 2 + 1 `and' 2 1ɾͤ(nilʳ)ǤС2ɾ롥`and'ͥ ̤㤤̾Ǥ롥 - 1 '||' 2 +andξդμǤʸɽƥϼ$_=~ ƥפξά +Ȥߤʤ롥 + +** OR + + 1 `||' 2 1 'or 2 1ɾͤǤС2ɾ롥`or'̤ͥ㤤 ̾Ǥ롥 - 1 '...' 2 +orξդμǤʸɽƥϼ$_=~ ƥפξά +Ȥߤʤ롥 -1ˤʤޤǤϵ֤θϼ2֤ޤǤϿ֤2 -ˤʤо֤ϵ +** ϰϻ꼰 -*** ֤(ñ㷿) + 1 `...' 2 -롼פ뼰μͤϾnilǤ롥֥Ȥ˹ -롼פԤʤˤϼ˽Ҥ٤륤ƥ졼Ѥ롥 +1ˤʤޤǤϵ֤θϼ2֤ޤǤϿ֤2 +ˤʤо֤ϵ롥 -while +黻`...'ξդϾPǤꡤ `...'ξդμǤʸ +ɽƥϼ$_=~ ƥפξά$.==פξά +Ȳᤵ롥 - while - ʸ - end +** NOT -郎δ֡ʸ֤¹Ԥ롥 + `!' -until +ǤеǤп֤ - until - ʸ - end - 1 until 2 +`!'Ǥʸɽƥϼ$_=~ ƥפξάǤȤ +ʤ롥 -(nil)֤ɾ㳰ȯ֡ʸ֤¹Ԥ -롥 -*** PˤĤ + 1 `!=' 2 + +!(1 == 2)פξά -ifunlesswhileuntilξȽμü黻`&&', `||', -`...'ξդμϾPȸƤФ롥PǤʸɽƥ -ϼ$_=~ƥפξάǤȤߤʤ롥˱黻`...'ξդ -$.==פξάȲᤵ롥P˸`!'黻Ҥ -ڥɤPȤߤʤ롥 + 1 `!~' 2 -: 黻`!'ü黻ҤǤϤʤΤǡԤʤ˵Ĥ -뤳ȡP +!(1 ~= 2)פξά + +** WHILE + + while + + end - ! ʸƥ - ! ɽƥ +ɾͤδ֤֡¹Ԥ롥whileͤnilǤ롥 -ηǸƤӽФåɤΰϡƥɽ֥ȤǤϤʤ -嵭Ӥη̤Ϳ롥Τᡤ§Ū`!'åɤϺ -ʤɤ +whileξȽμǤʸɽƥϼ$_=~ ƥ +ξάǤȤߤʤ롥 -*** ƥ졼(֤) +** WHILE + + ñ㼰 while + +֤(while)ϤޤԤ뼰ɾƤPɾ +ǡ٤ϼ¹Ԥ뤳Ȥˤʤ롥whileҤΤĤͤnil +롥 + +** ƥ졼(֤) ƥ졼Ȥ湽¤(ä˥롼)ݲΤѤåɤ Ǥ롥ɤ(֥åȸƤФ)ꤷƥƥ졼Ƥ @@ -561,205 +690,122 @@ ifunlesswhileuntilξȽμü黻`&&', `||', ƥ졼Ȥ湽¤(ä˥롼)ݲΤѤåɤ Ǥ롥ƥ졼θƤӽФϰʲιʸǹԤʤ롥 - '{' ѿ... '|' ʸ... '}' + `{' ѿ... `|' ... `}' -ʸפ֥åȤꤷּפΥåɤƥ졼Ȥɾ +ּפ֥åȤꤷּפΥåɤƥ졼Ȥɾ 롥ּפΥȥåץ٥Υåɤƥ졼ȤƸƤӽФ졤 쥷Фɽ䡤μϥƥ졼ȤƤϸƤӽФʤּ ʣμޤơƥ졼Ȥƽ˸ƤФ롥 -ƥ졼yieldʸ¹Ԥȡǻꤵ줿ͤdoʸǻꤵ +ƥ졼yield¹Ԥȡǻꤵ줿ͤdoǻꤵ 줿ѿ졤֥å¹Ԥ롥֥åμ¹ԤλȤ -ͤ yieldʸͤȤ֤롥åɤƥ졼ȤƸƤӽ +ͤ yieldͤȤ֤롥åɤƥ졼ȤƸƤӽ 줿ɤϥåiterator_p()ͤΤ뤳ȤǤ롥ˤ Enumerable⥸塼grepåɤΤ褦˥ƥ졼ȤƸƤФ줿 ̤ΥåɤȤƸƤФ줿Ȥưۤʤåɤ⤢롥 +** FOR + ֥ȤγǤФԤʤηƤ롥 ϰʲ̤ꡥ for ѿ.. in - ʸ + end -γǤФʸ¹Ԥ롥ϰʲμǤ롥 +γǤФ¹Ԥ롥ϰʲμǤ롥 - ().each '{' ѿ.. '|' ʸ '}' + ().each `{' ѿ.. `|' `}' äƼͤΥ֥Ȥåeachʤ硤for¹Ԥ 㳰ȯ롥 -*** ƥ졼ǤΥ֥åƤӽФ +** YIELD - yield '(' [ [',' ...]]) + yield `(' [ [`,' ...]]) yield ƥ졼ǥ֥åθƤӽФԤʤyield¹Ԥåɤ ƥ졼ȤƸƤӽФƤʤˤ㳰ȯ롥yield ͤϥ åͤǤ롥 -*** 㳰 +yieldΰγ̤ۣǤʤ¤άǤ롥 + +** FAIL + + fail `(' [å] `)' + +㳰ȯ롥åͿ줿ˤȯե +ֹ̾ƥѿ`$@'ˡå`$!'˥åȤ롥 + +failΰγ̤ۣǤʤ¤άǤ롥 + +** PROTECT ͽʤ֤ȯˤ㳰ȯ롥RubyǤ㳰 ªơƻԤꡤԤʤäꤹ뤳ȤǤ롥 protect - ʸ1 + 1 [resque - ʸ2 ] + 2 ] [ensure - ʸ3] + 3] end -ʸ1¹Ԥμ¹㳰ȯresqueǻꤵ줿ʸ2¹ -롥ensure¸ߤprotectʸλɬ(ェλ -Ǥʤ㳰, return, break, continue, redoʤɤˤæФǤ)ʸ3 +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] - -¿ñʸǤ롥ͤ(Ѵ줿)դǤ롥 - -*** ʸ - -ήѹʲʸ롥ñʸǤ롥 +** RETURN -returnʸ - - return [[',' ...]] + return [[`,' ...]] ͤͤȤƥåɤμ¹Ԥλ롥2İʾͿ줿 ˤϡǤȤåɤͤȤ롥Ĥʤ ˤ nil ͤȤʤ롥 -롼ʸ +** BREAK - continue - redo break -嵭3Ĥϥ롼ǻȤ - -continueϤäȤ¦Υ롼פμη֤Ϥ롥redoϥ롼 -ΥåԤʤ鷺ߤη֤ľbreak ϥ롼פæФ -롥CȰ㤤breakϤäȤ¦Υ롼פæФѤcase -ȴѤϻʤ - -retryʸ +break ϥ롼פæФ롥CȰ㤤breakϤäȤ¦Υ롼פæФ +Ѥcase ȴѤϻʤ - retry - -protectʸresqueǻȤprotectʸϤᤫ¹Ԥ롥㳰Ԥʤ -ƤƻԤΤ˻ȤresqueʳretryѤ줿㳰ȯ -롥 - -failʸ - - fail '(' [å] ')' - fail [å] - -㳰ȯ롥åͿ줿ˤȯե -ֹ̾ƥѿ`$@'ˡå`$!'˥åȤ롥 - -yieldʸ - - yield [',' ...] - -ʸȤyieldѤ뤳ȤǤ롥ξϼ̤dzɬפϤʤ - -*** åɸƤӽФʸ - -1İʾΰĥåɸƤӽФˤۣ椵ʤС -̤dzɬפϤʤηϰʲ̤Ǥ롥 - - '.' å̾ 1 ',' [2...]['*' n] - å̾ 1 ',' [2...]['*' n] - super 1 ',' [2... ]['*' n] - -ʸϻˡΤ褦˲ǤϼȤƤβͥ褵롥 +** CONTINUE + continue - foo bar+baz # åɸƤӽФfoo(bar+baz) - foo (bar)+baz # åɸƤӽФfoo(bar) + bar - foo 1 # åɸƤӽФfoo(1) - foo -1 # ѿfoo - 1 +continueϤäȤ¦Υ롼פμη֤Ϥ롥 -̤ΤʤåɸƤӽФʸñʸǤ롥 +** REDO -*** 潤 + redo -ñʸ潤ҤղäΤʸǤ(ñʸǤϤʤ)Ҥϰ -4Ǥ롥 +redoϥ롼ΥåԤʤ鷺ߤη֤ľ - ñʸ if - ñʸ unless - ñʸ while - ñʸ until +** RETRY -、(if/unless)μԤʸäɾ롥ưб -ʬƱͤǤ롥 + retry -֤(while/until)ϤޤԤʸɾƤPɾ -Τǡ٤ʸ¹Ԥ뤳Ȥˤʤ롥 +protectresqueǻȤprotectϤᤫ¹Ԥ롥㳰Ԥʤ +ƤƻԤΤ˻ȤresqueʳretryѤ줿㳰ȯ +롥 -*** 饹ʸ +** 饹 -饹빽ʸϰʲ̤Ǥ롥 +饹빽ϰʲ̤Ǥ롥 - class 饹̾ [':' ѡ饹̾ ] + class 饹̾ [`:' ѡ饹̾ ] end 饹̾Ǥդμ̻ҤǤ(ʸǻϤ뤳Ȥ侩)饹 -ΥͥȤϤǤʤΤ¾ʸǤϥ饹Ǥʤ +ΥͥȤϤǤʤΤ¾Ǥϥ饹Ǥʤ -*** ⥸塼ʸ +** ⥸塼 -⥸塼빽ʸϰʲ̤Ǥ롥 +⥸塼빽ϰʲ̤Ǥ롥 module 饹̾ @@ -768,27 +814,13 @@ yieldʸ ⥸塼̾ʸǻϤޤ뼱̻ҤǤ롥饹Ʊ͡⥸塼 ͥȤǤʤ -*** 롼ʸ - -⥸塼롼ɤ뤳Ȥˤäơ饹ޤϥ⥸塼˵ǽ -ɲäǤ롥⥸塼롼ɤ硤Υ⥸塼( -Υ⥸塼뤬˥롼ɤƤ⥸塼)ƤΥåɤ -Ѥ̤ΤХ롼ɤϸꤵ줿¿ŷѾȤ롥 - -¾Υ⥸塼롼ɤ빽ʸϰʲ̤Ǥ롥 - - include ⥸塼̾ [',' ⥸塼̾...] - -ߤΥ饹ޤϥ⥸塼(ȥåץ٥ǤObject饹)˻ -ꤷ⥸塼롼ɤ롥 - -*** åʸ +** å ̾(ðۥåɤǤʤ)åηϰʲ̤Ǥ롥̾ -ϥͥȤǤʤΤǡåʸǤϥåʸƤӸ +ϥͥȤǤʤΤǡåǤϥåƤӸ ӽФʤ - def å̾ ['(' [',' ...][',' '*' ] ')'] + def å̾ [`(' [`,' ...][`,' `*' ] `)'] end @@ -798,17 +830,22 @@ yieldʸ åɤˤϴؿŪåɤ̾åɤ롥ؿŪåɤϴؿ ǤƤӽФȤǤäƳ륯饹ȤΥ֥饹Υ -åɤ餷ƤӽФȤǤʤ饹ʸγˤdefʸϴ -Ūåɤ饹ʸˤdefʸ̾Υåɤ -롥åɤβĻModule饹export/noexportåɤȤ -ѹ롥 +åɤ餷ƤӽФȤǤʤ + +˥åɤ硤饹γˤdefϴؿŪ +ɤ饹ˤdef̾Υåɤ롥 +ѡ饹ΥåɤˤåɤβĻϥ +ѡ饹ΥåɤΤΤѤ -** ðۥåʸ +åɤβĻѹˤModule饹export/unexport +ɤѤ롥 + +** ðۥå åˤϤ⤦ðۥåɤ롥ðۥåɤȤϤ Υ֥Ȥ˸ͭΥåɤǤ롥ϰʲ̤Ǥ롥 - def '.' å̾ ['(' [',' ...][',' '*' ] ')'] + def `.' å̾ [`(' [`,' ...][`,' `*' ] `)'] end @@ -821,7 +858,21 @@ yieldʸ Υ֥饹ˤѾ롥ؤХ饹ðۥåɤ¾Υ Ȼظƥˤ륯饹åɤƯ롥 -*** åɤ̾ʸ +** INCLUDE + +⥸塼롼ɤ뤳Ȥˤäơ饹ޤϥ⥸塼˵ǽ +ɲäǤ롥⥸塼롼ɤ硤Υ⥸塼( +Υ⥸塼뤬˥롼ɤƤ⥸塼)ƤΥåɤ +Ѥ̤ΤХ롼ɤϸꤵ줿¿ŷѾȤ롥 + +¾Υ⥸塼롼ɤ빽ϰʲ̤Ǥ롥 + + include ⥸塼̾ [`,' ⥸塼̾...] + +ߤΥ饹ޤϥ⥸塼(ȥåץ٥ǤObject饹)˻ +ꤷ⥸塼롼ɤ롥 + +** ALIAS ʲηǥåɤ̾Ĥ뤳ȤǤ롥 @@ -831,28 +882,20 @@ yieldʸ åɤƤ⡤ŤåɤƤӽФ줿ΤƱƯ 롥 -*** åäʸ +** UNDEF åɤäˤundefѤ롥 undef å̾ -̻Ҥޤʸǻꤷåɤä +ꤷåɤä defˤ̾undefˤäȤȥ饹Υե -ѡ饹Ωѹ뤳ȤǤ롥åɤself -˥åäƤˤϤ褯դʤȴ¸Υåɤư -ʤʤǽ롥 - -------------------------------------------------------- -* RubyȤ߹ߵǽ +ѡ饹Ωѹ뤳ȤǤ롥åɤself +˥åäƤ⤢Τǡ褯դʤȴ¸Υå +ưʤʤǽ롥 -Rubyץߥδܤϥ饹⥸塼ȤΥåɤνǤ롥 -RubyˤϽϤΤΤ˰ʲεǽȤ߹ޤƤ롥饤֥ -ɤ뤳ȤˤäƵǽ뤬˴ؤƤϤ줾Υ饤֥ -ΥɥȤȤƤ餤 - -** ؿ +* Ȥ߹ߴؿ Rubyˤϸ̩ʰ̣ǤϴؿϤʤKernel饹δؿåɤ(Ƥ ̾說饹ؿǸƤӽФΤ)ؿŪѤ롥ؿŪ @@ -1081,7 +1124,7 @@ Rubyˤϸ̩ʰ̣ǤϴؿϤʤKernel饹δؿåɤ(Ƥ ƤʤޥǤflagsϤĤnilޤ0ǤʤФ ʤ -** ƥѿ +* Ȥ߹ѿ $! 顼åfailꤹ롥 @@ -1180,7 +1223,6 @@ Rubyˤϸ̩ʰ̣ǤϴؿϤʤKernel饹δؿåɤ(Ƥ $VERSION rubyΥСʸ -** ƥ %TRUE t %FALSE nil @@ -1201,9 +1243,9 @@ Rubyˤϸ̩ʰ̣ǤϴؿϤʤKernel饹δؿåɤ(Ƥ ϴˤƱǤϤʤ%FALSE˴ؤƤϡΤ褦 ʤ -** 饹/⥸塼 +* Ȥ߹ߥ饹ȥ⥸塼 -*** Array(饹) +** Array(饹) źȤΥ饹Ǥ롥ϰŪˤ``[...]'' Ԥʤ롥 @@ -1385,7 +1427,13 @@ Methods: objƬɲä롥 -*** Bignum(饹) +Single Methods: + + Array[item...] + + ǤȤ롥 + +** Bignum(饹) ̵¿ĹΥ饹黻η̤FixnumϰǤˤϼ ưŪ˥饹FixnumѴ롥ŪRubyץǤFixnum @@ -1425,7 +1473,7 @@ Methods: Ⱦ;2Ǥ֤ -*** Block(饹) +** Block(饹) ƥ졼Ϥ³ޤȤ֥ȡ¹Ԥ륳ɤ ʤƥ(ѿ)ʤɤ¸롥 @@ -1434,7 +1482,7 @@ SuperClass: Object Methods: - do(arg[, ...]) + call(arg[, ...]) ֥å¹Ԥ롥 @@ -1446,7 +1494,7 @@ Single Methods: ƤФȡλǼ¹Ԥ٤ɤ߹֥ (Block)롥 -*** Class(饹) +** Class(饹) 饹Υ饹긷̩ȥ饹ðۥåɤѾ뤿 ˡ줾饹ȸƤФ̾Τʤ饹饹Ȥƻ @@ -1472,7 +1520,7 @@ Methods: 饹ðۥåɤˤäƥС饤ɤ졤饹ˤäư ۤʤ롥 -*** Comparable(⥸塼) +** Comparable(⥸塼) ӱ黻饹ΤMixinΥ⥸塼롼ɤ뤳 Ȥˤäơ`<=>'黻Ҥ¾α黻ҤϤѤ @@ -1504,7 +1552,7 @@ Methods: selfminmaxϰˤ֤ -*** Cons(饹) +** Cons(饹) ǡ(ڥ)ɽ륯饹̾`::'黻ҤѤƹԤʤ 롥LispCONSڥƱͤListѤ뤳Ȥ⤢롥 @@ -1561,7 +1609,7 @@ Methods: CONSڥʤꥹȤγǤͿ륤ƥ졼 -*** DBM(饹) +** DBM(饹) NDBMե륯饹ǡȤʸǤʤФ ʤȤ¤ȡǡե¸ȤƤ @@ -1657,7 +1705,7 @@ Single Methods: 롥modeξάͤ0666Ǥ롥modeȤnilꤹȥǡ ١¸ߤʤˤϿ˥ץnil֤ -*** Dict(饹) +** Dict(饹) 뤤ϢǤդΥ֥ȤźȤǤΥ饹Ǥ 롥HashȤ̾Ǥ⥢Ǥ롥Ϣ֥Ȥϰ @@ -1740,11 +1788,15 @@ Methods: Single Methods: + Dict[key, value...] + + ܤΰkeyܤΰvalueȤ뼭롥 + new ()֥Ȥ֤ -*** Directory(饹) +** Directory(饹) ǥ쥯ȥǤ֤ǥ쥯ȥꥹȥΤΥ饹 DirȤ̾Ǥ⥢Ǥ롥 @@ -1808,7 +1860,7 @@ Single Methods: pathǻꤵ줿ǥ쥯ȥ롥ǥ쥯ȥ϶Ǥ ɬפ롥 -*** Enumerable(⥸塼) +** Enumerable(⥸塼) ǤФ뷫֤Ԥʤ饹ΤMixinΥ⥸塼 롼ɤ뤿ˤϡå`each'ɬפ롥 @@ -1866,7 +1918,7 @@ Methods: ƤǤȤ֤ -*** Etc(⥸塼) +** Etc(⥸塼) /etcǥ쥯ȥʲξ뤿Υ⥸塼롥饹˥롼 ƻȤȤǤ롥 @@ -1938,7 +1990,7 @@ Single Methods: Ƥpasswdȥ˥뤿Υƥ졼 -*** File(饹) +** File(饹) ե륢ΤΥ饹åopen()롥ޤ 饹ðۥåɤȤtestΥեƥȱ黻Υåɤ @@ -2097,7 +2149,7 @@ Single Methods: ʳFileTest⥸塼ΥåɤðۥåɤȤƻġ -*** FileTest(⥸塼) +** FileTest(⥸塼) եƥѥåɤ⥸塼롥롼ɤѤ뤳 Ǥ롥 @@ -2203,7 +2255,7 @@ Single Methods: filenameΥե뤬¸ߤ礭0Ǥ֤ -*** Fixnum(饹) +** Fixnum(饹) 31bit(ޥlongĹ-1 bit)Υ饹builtin classǤ롥 饹pointer¨ͤǤ뤿call by valueǸƤӽФħŪ @@ -2268,7 +2320,7 @@ Methods: ƥ졼selfmaxޤǷ֤ -*** Float(饹) +** Float(饹) ưΥ饹 @@ -2309,7 +2361,7 @@ Single Methods: floatƱͤĿFloat֥Ȥ֤ -*** GC(⥸塼) +** GC(⥸塼) RubyȤ߹ߤgarbage collectorԤʤΥ⥸塼롥Υ 塼ΥåɤѤ뤳ȤˤäơŪGCߤꡤGCε @@ -2335,7 +2387,7 @@ Single Methods: GCϤ롥 -*** Glob(饹) +** Glob(饹) 磻ɥɤΥ饹磻ɥɤΥƥ<...>ȤǤ 롥ɽȤۤƱ褦˻Ȥ뤬ϵǽʤ @@ -2362,7 +2414,7 @@ Single Methods: ʸ磻ɥɤѴ֥Ȥ֤ -*** Integer(饹) +** Integer(饹) 饹ºݤϤ礭ˤäFixnumBignumĤΥ֥饹 Ǽ¸Ƥ롥IntegerϤΥѡ饹Ȥʤݥ饹Ǥ @@ -2392,7 +2444,7 @@ Methods: Ĥ֤ -*** IO(饹) +** IO(饹) ϤΤδܥ饹 @@ -2493,7 +2545,7 @@ Methods: strϤ롥ϤХȿ֤ -*** Kernel(饹) +** Kernel(饹) ƤΥ饹δ쥯饹RubyȤ߹ߤƤδؿåɤϤΥ饹 Ƥ롥ؿåɤˤĤƤϡִؿפιܤȤΤȡ @@ -2565,7 +2617,7 @@ Methods: ˤɬ⤽˹碌ƺ뤳ȡ -*** Math(⥸塼) +** Math(⥸塼) ư黻ݡȤ륯饹Math⥸塼ƱΥå ðۥåɤȤξƤΤǡðۥåɤƤӽФƻ @@ -2610,7 +2662,7 @@ Single Methods: xΩ֤ -*** Module(饹) +** Module(饹) ⥸塼Υ饹 @@ -2665,7 +2717,7 @@ Methods: nameǻꤵ줿åɤؿǤƤӽФǽˤ롥 Ǥ˴ؿåɤǤˤϲ⤷ʤ -*** Nil(饹) +** Nil(饹) ɽ֥nilΥ饹ѿ()nilNil饹ͣΥ Ǥ롥 @@ -2686,7 +2738,7 @@ Methods: ˿֤ -*** Numeric(饹) +** Numeric(饹) ̤ɽݥ饹 @@ -2717,7 +2769,7 @@ Methods: ο֤οȤϤοۤǾǤ롥 -*** Object(饹) +** Object(饹) Ƥ̾說饹Υѥ饹̾說饹ΥΰŪʿ Ƥ롥Υ饹Υ֥饹Ǥʤ饹KernelNilȡ @@ -2727,6 +2779,9 @@ SuperClass: Builtin Methods: + init_object + + is_member_of(class) ֥self饹classΥǤ֤ @@ -2752,7 +2807,7 @@ Methods: ֥ȤѴ롥ͥ륯饹Ƥ եȤϡΥ֥ȼȤޤ1Ǥ֤ -*** Process(⥸塼) +** Process(⥸塼) ץ˴ؤԤʤΥ⥸塼롥Math⥸塼Ʊͤ ƤΥåɤðۥåɤȤƤ̾ΥåɤȤƤȤ롥 @@ -2827,7 +2882,7 @@ Single Methods: ץθߤμUIDuid˥åȤ. -*** Range(饹) +** Range(饹) ϰϥ֥ȤΥ饹ϰϥ֥Ȥ`..'黻Ҥˤä졤 ŪˤϰʲΤ褦ʻȤ @@ -2855,7 +2910,7 @@ Methods: self =~ other selfotherƱ饹Фϰϥ֥Ȥǡϰ - other(start <= other <= end)֤caseʸ + other(start <= other <= end)֤case ϰϻꤹǤ롥㤨 case i @@ -2867,7 +2922,7 @@ Methods: each - ϰ¸ߤ륪֥ȤͿ륤ƥ졼forʸΤ + ϰ¸ߤ륪֥ȤͿ륤ƥ졼forΤ Ѥ롥 end @@ -2878,7 +2933,7 @@ Methods: ϰϤλ֤ -*** Socket(饹) +** Socket(饹) SuperClass: BasicSocket @@ -2938,7 +2993,8 @@ Single Methods: åȤΥڥ֤λ openƱǤ롥 -*** Regexp(饹) + +** Regexp(饹) ɽΥ饹ɽΥƥ/.../ȤɽưŪ 뤿ˤ @@ -2974,7 +3030,12 @@ Single Methods: ̤롥ꤵʤϥޥåԤʤäΥƥѿ `$='ͤˤäƶ̤뤫ʤꤵ롥 -*** BasicSocket(饹) + quote(str) + + ʸɽǰ̣ʸפ롥ʸ + ֤ + +** BasicSocket(饹) åȤɽݥ饹Ūʥåϥ֥饹롥 㤨ХͥåȥɥᥤξTCPsocketѤ롥 @@ -3008,7 +3069,7 @@ Methods: how1Ǥϡʹߤݤ롥how2λˤϡ ʹߤȤ˵ݤ롥shutdown(2)ȡ -*** String(饹) +** String(饹) ʸ饹Rubyʸϥ̥륿ߥ͡ȤǤϤʤΤǡХʥǡ ⰷ롥äƤɤ餫ȤñʤʸȤХǤ롥 @@ -3323,7 +3384,7 @@ Single Methods: stringƱƤĿʸ֤ -*** Struct(饹) +** Struct(饹) ¤Υ饹ʣΥǡޤȤѤ(: Time::times) ǡޤȤˤ饹Ѥ뤳Ȥ⤢뤬(: select) @@ -3386,7 +3447,7 @@ Single Methods: Фǻꤵ줿̾ðۥåɤƤơΥå ˤäƥФƤ뤳ȤǤ롥 -*** TCPserver(饹) +** TCPserver(饹) TCP/IPȥ³Υ¦ΥåȤΥ饹Υ饹ˤä ñ˥åȤѤФΥץߥǤ롥㤨echo @@ -3432,7 +3493,7 @@ Single Methods: ³դ롥άƤΥۥȤ³ 롥 -*** TCPsocket +** TCPsocket ͥåȥɥᥤΥȥåȤΥ饹̾IO饹 ֥饹ƱͤϤǤ롥Υ饹ˤäƥåȤѤ @@ -3470,7 +3531,7 @@ Single Methods: service/etc/services(ޤNIS)ϿƤ륵 ̾ݡֹǤ롥 -*** Time(饹) +** Time(饹) ֤ɽ饹羮ӤʤɤǤ롥Time.nowǸߤλ֤뤳 Ǥ롥ޤեΥॹפåɤͤ⤳Υ @@ -3593,7 +3654,7 @@ Single Methods: ֤ñ̤äǤꡤưͿ롥ܺ٤ times(3)ȤΤȡ -*** UNIXserver +** UNIXserver UNIXȥ³Υ¦ΥåȤΥ饹 @@ -3606,7 +3667,7 @@ Methods: 饤Ȥ³դ³UNIXsocketΥ ֤ -*** UNIXsocket +** UNIXsocket UNIXɥᥤΥȥåȤΥ饹̾IO饹Υ֥饹 ƱͤϤǤ롥 @@ -3636,6 +3697,210 @@ Single Methods: pathǻꤷѥ̾Ѥ³åȤ֤ +* CȤΥե + +rubyCȤΥեC줫Υ饹⥸塼 +CǵҤåɤrubyΥåɤθƤӽФ +졼θƤӽФ㳰ʤɤԤʤȤ롥ޤOSм +ԻCǽ줿⥸塼ɤ뤳Ȥ롥 + +Ūʥե˴ؤƤϡ̥ɥ(źեե C-IF) +ȤΤȡ + +* ʸˡ + +ʲϵBNFǵҤrubyʸˡǤ롥ΤʵҤparse.y +줿 + +PROGRAM : COMPEXPR + +COMPEXPR : EXPR (TERM EXPR)* [TERM] + +EXPR : MLHS `=' ARGS + | ASSOCS + | return ARGS + | fail ARGS + | yield ARGS + | identifier CALL_ARGS + | PRIMARY `.' identifier CALL_ARGS + | super CALL_ARGS + | undef FNAME + | alias FNAME FNAME + | include identifier (`,' identifier)* + | EXPR if EXPR + | EXPR while EXPR + | EXPR and EXPR + | EXPR or EXPR + | 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 `||' ARG + | PRIMARY + +PRIMARY : LITERAL + | VARIABLE + | super `(' [CALL_ARGS] `)' + | super + | PRIMARY `[' [ARGS] `]' + | `[' [ARGS] `]' + | `{' ARGS `}' + | `{' ASSOCS `}' + | redo + | break + | continue + | retry + | return + | fail `(' ARGS `)' + | fail `(' `)' + | fail + | yield `(' ARGS `)' + | yield `(' `)' + | yield + | PRIMARY `{' [ITER_VAR] `|' COMPEXPR `}' + | identifier `(' [CALL_ARGS] `)' + | PRIMARY `.' identifier `(' [CALL_ARGS] `)' + | PRIMARY `.' identifier + | 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 + | protect + COMPEXPR + [resque COMPEXPR] + [ensure COMPEXPR] + end + | `(' COMPEXPR `)' + | 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 + | ARGS `,' `*' ARG + +ARGS : ARG + | ARGS `,' ARG + +ARGLIST : `('[identifier(`,'identifier)*][`*'identifier]`)' + | TERM + +SINGLETON : VARIABLE + | `(' COMPEXPR `)' + +ASSOCS : ASSOC (`,' ASSOC)* + +ASSOC : ARG `=>' ARG + +VARIABLE : identifier + | VARNAME + | nil + | self + | `__FILE__' + | `__LINE__' + +LITERAL : numeric + | SYMBOL + | STRING + | REGEXP + | GLOB + +TERM : `;' + | `\n' + +겼ϻǧ롥 + +SYMBOL : `:'FNAME + | `:'VARNAME + +FNAME : identifier | `::' | `..' | `|' | `^' | `&' + | `<=>' | `==' | `=~' | `>' | `>=' | `<' | `<=' + | `<<' | `>>' | `+' | `-' | `*' | `/' | `%' | `**' + | `~' | `+@' | `-@' | `[]' | `[]=' + +VARNAME : GLOBAL + | `@'identifier + | `%'identifier + +GLOBAL : `$'identifier + | `$'any_char + +STRING : `"' any_char* `"' + | `'' any_char* `'' + | ``' any_char* ``' + +REGEXP : `/' any_char* `/' + +GLOB : `<' any_char* `>' + +* ռ + +RubyθͤC, Perl, EiffelγƸˤν˱ƶƤ. +¾˱ƶȤƤtcl, AWK, bourne shell, CLU, Sather, +Icon, Smalltalk, Emacs Lispʤɤ. ޤrubyθͤꤹ뤿 +˶ϤƲäʲˤ(ɾά): ͷ +ƣϺ¼ΣţáغDECʤ@ֺ.ٻ̡ + ------------------------------------------------------- Local variables: fill-column: 70 |