summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorYukihiro Matsumoto <matz@ruby-lang.org>1995-02-01 19:48:24 +0900
committerTakashi Kokubun <takashikkbn@gmail.com>2019-08-17 22:09:31 +0900
commit897cf066952978ccbae1d57bbc14a03c7b98a1e1 (patch)
treebc83424954929dc9574e40a0aee874f45965a8ae /spec
parent5d828b25d4ae30a000c054a724ac248dadbb97b3 (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--spec1109
1 files changed, 687 insertions, 422 deletions
diff --git a/spec b/spec
index 75bd5e8065..b7c374db64 100644
--- a/spec
+++ b/spec
@@ -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