diff options
author | Yukihiro Matsumoto <matz@ruby-lang.org> | 1994-08-10 15:54:46 +0900 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2019-08-17 22:09:30 +0900 |
commit | 6e3090413652b6592346556149fed1e9aec5495d (patch) | |
tree | bac97139bbeedc8cb67cb2e451a22ed4ddb2b2d4 /spec | |
parent | 200e0ee2fd3c1c006c528874a88f684447215524 (diff) |
version 0.50v0_50
http://cache.ruby-lang.org/pub/ruby/1.0/ruby-0.50.tar.gz
Wed Aug 10 15:54:46 1994 Yukihiro Matsumoto (matz@ix-02)
* variable.c: -vオプションが指定されている時は初期化されていない,
大域変数, インスタンス変数, ローカル変数を参照した時点でwarning
を出すようにした.
Tue Aug 9 11:50:48 1994 Yukihiro Matsumoto (matz@ix-02)
* bignum.c: 冪乗に関しても多倍長演算を行なうように. 特に浮動小数点
数の範囲を越えた時の処理を的確に行なうように.
* eval.c: メソッド定義後は構文木から, メソッド定義部分を外す. 無駄
な再定義が起こらないようにするためと2重にfree()されないため.
* array.c(Fary_aref): 引数が1つでFixnumの時, Range checkを行なわな
いように修正.
* eval.c: 引数の数をコンパイル時に計算して若干の高速化.
Mon Aug 8 13:06:24 1994 Yukihiro Matsumoto (matz@ix-02)
* object.c: nilによる比較連鎖をなくした.
* parse.y: bit演算子の優先順位を比較演算子よりも強くした. Cとは異
なることになるが, 直観には合致する.
* gc.c: クラスを解放する時, 個々のメソッド毎にキャッシュをクリアす
るのではなく, クラス単位でクリアするように.
Thu Aug 4 18:45:09 1994 Yukihiro Matsumoto (matz@ix-02)
* methods.c(method_free): 解放されたメソッドに関してキャッシュをク
リアしておく必要があった.
* gc.c: Dataクラスのデータ部分をfree()し忘れていた.
Wed Aug 3 09:58:14 1994 Yukihiro Matsumoto (matz@ix-02)
* parse.y: def func .. end形式による関数メソッドの定義はなくなった.
* methods.c: func形式のメソッドをなくした. あっても, あまり意味が
ないので.
* eval.c: $0への代入でps(1)の出力が変化するように.
* io.c(Fsyscall): syscall()を実現.
Mon Aug 1 13:41:11 1994 Yukihiro Matsumoto (matz@ix-02)
* parse.y: ダブルクォートで囲まれた文字列や正規表現中で"#{変数名}"
または"#変数名"という形式で変数の内容を埋め込むことができるよう
になった.
* io.c: 関数メソッドsystem2()はなくなった. 今はバッククォートがあ
るからね.
* parse.y: `cmd`によってコマンドを文字列に展開することができるよう
になった.
* parse.y: __FILE__, __LINE__を追加. それぞれファイル名(文字列),
行番号(整数)を値とする疑似変数.
Fri Jul 29 13:16:07 1994 Yukihiro Matsumoto (matz@ix-02)
* methods.h: メソッドをオブジェクトとして扱うのをやめる. メソッド
のメモリ管理にはリファレンスカウントを使うことにした. これでオブ
ジェクトの数が減ってほんの少しだけGCが速くなる(かな).
* purifyによってメモリ関係のバグを検査した(見つかる,見つかる…).
* gc.c: GCをプログラマが変数をマークする形式から, スタックとレジス
タからマークする方法に変更. 移植性が下がるような気もするが, siod
やscmでも採用されているから多分大丈夫だろう. Linux on i486でも動
作を確認した.
Wed Jul 27 16:13:13 1994 Yukihiro Matsumoto (matz@ix-02)
* eval.c(Eval): トップレベルでは構造木をfreeしないように. どうせ解
放されるから時間の無駄である.
* array.c, dict.c: "=="を構造一致に変更.
Fri Jul 22 10:14:09 1994 Yukihiro Matsumoto (matz@ix-02)
* error.c: 組み込みタイプの名前を登録し忘れていた.
Thu Jul 21 14:06:48 1994 Yukihiro Matsumoto (matz@ix-02)
* parse.y(freenode),eval.c(Eval): 解析木を解放し忘れていた.
Mon Jul 18 10:19:15 1994 Yukihiro Matsumoto (matz@ix-02)
* parse.y: 多重代入を処理するルールにバグがあって, 3要素以上の多重
代入に失敗していた.
* eval.c(rb_eval): 多重代入で, 右辺が配列でない時には`to_a'メソッ
ドで配列に変換して代入するようにした. 今までの仕様だと右辺値が第
1要素にそのまま代入されていたが, structなど配列に変換できるもの
は変換した方が嬉しい気がする.
* dbm.c,dict.c(delete_if): メソッド追加.
* process.c(wait,waitpid): システムコールwaitpidまたはwait4がある
時はそちらを使うように. configureもそれらをチェックするように変更.
* dbm.c, dict.c(clear): メソッド追加.
Diffstat (limited to 'spec')
-rw-r--r-- | spec | 192 |
1 files changed, 94 insertions, 98 deletions
@@ -15,11 +15,12 @@ RubyϡUNIXǼڤ˥֥ȻظץߥפȤ˾ ʤɤǤ. ֥ȻظȤưŪǤSmalltalkC++ʤɤ ξΰƤϤ뤬, ä˼ڤʥץߥȤ˷ -Ƥ, ƤΤǤϤʤä. ץȸǤPerl -Tcl˥֥Ȼظǽɲäƥ¸ߤ뤬, ϡּ -ڤ˥ץߥפȤƤϤƤ, դ˥֥Ȼظ -ǽä. ä, ξ߷ -ɬפȹͤ줿. Ƨޤ߷פ줿Rubyħ: +Ƥ, ʾξƤΤǤϤʤä. ץȸ +ǤPerl Tcl˥֥Ȼظǽɲäƥ¸ߤ뤬, +ϡּڤ˥ץߥפȤƤϤƤ, դ˥ +Ȼظǽä. ä, ξ +߷פɬפȹͤ줿. Ƨޤ߷פ줿Ruby +ħ: * ץǤ. * ñ㳰ξʤʸˡ. @@ -31,14 +32,15 @@ Tcl˥֥Ȼظǽɲäƥ¸ߤ뤬, ϡּ * OS뵡ǽ. * ĥ䤹. -ʤɤ. RubyshperlΤäƤͤˤȤäƤξQˤʤ뤿ä +ʤɤ. RubyshPerlΤäƤͤˤȤäƤξQˤʤ뤿ä Τ, θ줫μʰܹԤǽǤȻפ. ץޤ RubyΥ֥ȻظǽˤĤƳؤ٤, 궯ϤʤȤǤ褦 ʤ. -Cǥ饹Ҥ뤳ȤRuby˶Ϥˤ뤳ȤǤ. -OSǤRubyưŪ˥֥ȥեǤ뤷, Ǥʤ -ƤRubyƥѥ뤷Ȥ߹ߥ饹ɲäΤưפǤ. +Cǥ饹åɤҤ, ɲä뤳ȤRuby˶Ϥˤ +뤳ȤǤ. ΥץåȥեǤRubyưŪ˥֥ȥե +Ǥ뤷, ǤʤƤRubyƥѥ뤷Ȥ߹ߥ +ɲäΤưפǤ(PerlʤɤϤ뤫ưפǤ). * Rubyδ @@ -69,21 +71,33 @@ RubyδŪʬ˾, ʸˡ㳰ʤΤǿȤˤĤΤ ͽϰʲ̤Ǥ - break, case, class, continue, def, do, else, - elsif, end, ensure, for, func, if, in, - include, module, nil, protect, redo, resque, retry, - return, self, super, then, undef, unless, until, - using, when, while, yield, __END__ + 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 ͽϥ饹̾, å̾, ѿ̾ʤɤѤ뤳ȤϤǤʤ. +** 롼ԥ + +ϳ̤ˤäƥ롼ԥ뤳ȤǤ. ˳ˤϼ¤Ӥ +. ¤ӤҤ, ȼζڤˤϲԤ ';' Ѥ. +¤ӤͤϺǸɾͤǤ. Ĥޤ + + (; ; ...) + +ͤϺǸɾͤˤʤ. + ** ƥ -ʲΥƥ뤬 +ʲΥƥ뤬 ϼǤ. ʸƥ - "..." # Хååβᤢ + "..." # ХååβѿŸ '...' # Хååβʤ(\\\'ϲ᤹) Хåå嵭ˡ @@ -95,6 +109,7 @@ RubyδŪʬ˾, ʸˡ㳰ʤΤǿȤˤĤΤ \b Хåڡ(0x08) \a ٥(0x07) \e (0x1b) + \# ʸ`#'Τ \nnn 8ʿɽ(n0-7) \xnn 16ʿɽ(n0-9,a-f) \^c ȥʸ(cASCIIʸ) @@ -127,8 +142,8 @@ RubyδŪʬ˾, ʸˡ㳰ʤΤǿȤˤĤΤ | ( ) ɽޤȤ - ¾˥Хåå嵭ˡͭǤ. - + ¾ʸƱХåå嵭ˡͭǤ. + ͥƥ 123 @@ -145,19 +160,18 @@ RubyδŪʬ˾, ʸˡ㳰ʤΤǿȤˤĤΤ ?ɽǤƤΥХåå嵭ˡͭǤ. -** 롼ԥ +*** ѿŸ -ϳ̤ˤäƥ롼ԥ뤳ȤǤ. ˳ˤϼ¤Ӥ -. ¤ӤҤ, ȼζڤˤϲԤ ';' Ѥ. -¤ӤͤϺǸɾͤǤ. Ĥޤ - - (; ; ...) - -ͤϺǸɾͤˤʤ. +֥륯(`"')ǰϤޤ줿ʸɽǤ `#{ѿ̾}'Ȥ +ѿƤŸ뤳ȤǤ. ѿѿ(`$',`@',`%') +ľˤ`#ѿ̾'ȤǤŸǤ. ʸ`#'³ʸ +`{'Ǥʤ, ѿǤʤ, Τޤ`#'ȤƲᤵ. -** ƥ +** ޥɤν -Ҥο, ʸ, ɽγƥƥϼǤ. +``ǰϤޤ줿ʸ, ֥륯ȤƱͤŸ줿, Ʊ +褦˥ޥɤȤƼ¹Ԥ, μ¹Է̤ʸȤͿ. +ޥɤɾ뤿Ӥ˼¹Ԥ. ** @@ -240,17 +254,22 @@ RubyδŪʬ˾, ʸˡ㳰ʤΤǿȤˤĤΤ ʣʤ¤, ̤ΥѿͤnilǤȹͤƤ⺹ ٤Ϥʤ. - RubyȤ߹ߴؿʸΥե٥åȤǻϤޤ̾ĤƤ, - 桼⥯饹/⥸塼̾ˤʸǻϤޤ뼱̻Ҥ, - ̾ˤϾʸޤ`_'ǻϤޤ뼱̻ҤȤȤ侩. + RubyȤ߹ߥ饹ʸΥե٥åȤǻϤޤ̾ĤƤ + , 桼⥯饹/⥸塼̾ˤʸǻϤޤ뼱̻Ҥ, + ѿ̾ˤϾʸޤ`_'ǻϤޤ뼱̻ҤȤȤ侩. ѿμ̿ϤΥåɤλޤ(ȥåץ٥Υ ѿϥץνλޤ)Ǥ. -˵ѿȸƤФüѿȤselfnil. selfϸߤΥ -åɤμ¹ԼΤؤѿǤ, nilNil饹ͣΥ -(ɽ)ؤѿǤ. εѿˤäƤ -ѹ뤳ȤϤǤʤ. ѿؤ㳰ȯ. +˵ѿȸƤФüѿ4Ĥ. + + self | ߤΥåɤμ¹Լ + nil | Nil饹ͣΥ(ɽ) + __FILE__ | ץȤΥե̾(ʸ) + __LINE__ | ߤιֹ + +εѿˤäƤͤѹ뤳ȤϤǤʤ. +ѿؤ㳰ȯ. ** å @@ -269,11 +288,11 @@ RubyδŪʬ˾, ʸˡ㳰ʤΤǿȤˤĤΤ å̾ȤƤǤդμ̻ҤѤ뤳ȤǤ. ѿ̾Ȥϼ̻Ҥ ֤̾㤦ΤǽʣƤʤ. -** ؿ +** ؿ -å, 쥷Фselfξ, 쥷Фάƴؿǥ -ɤƤӽФȤǤ. ξ1ĤʤǤ̤ξάϤ -ʤ. +å, 쥷Фselfξ, 쥷Фά̾Υץ +ߥˤؿΤ褦ʷǥåɤƤӽФȤǤ. +ξ1ĤʤǤ̤ξάϤǤʤ. ؿǤ`@'ǻϤޤ̾ĥåɤƤӽФȤǤ. `@' ϤޤåɤϴؿǤƤӽФȤǤʤ, 륯 @@ -295,7 +314,7 @@ RubyδŪʬ˾, ʸˡ㳰ʤΤǿȤˤĤΤ super(...) ȤȤ˥ѡ饹Ʊ̾ΥåɤƤӽФ. ֺǸ - ΰ`*'³̾ΥåɸƤӽФƱ. + ΰ`*'³̾ΥåɸƤӽФƱͤϤ. ** 黻 @@ -308,10 +327,10 @@ RubyδŪʬ˾, ʸˡ㳰ʤΤǿȤˤĤΤ * / % + - << >> - > >= < <= - <=> == != =~ !~ & | ^ + > >= < <= + <=> == != =~ !~ && || .. ... @@ -337,7 +356,7 @@ RubyδŪʬ˾, ʸˡ㳰ʤΤǿȤˤĤΤ 1."黻"(2) -Ȳᤵ. ¿黻(λȤ[])ϱ黻ҷ̤ʷȤ +˲ᤵ. ¿黻(λȤ[])ϱ黻ҷ̤ʷȤ recv[arg..] @@ -345,14 +364,22 @@ RubyδŪʬ˾, ʸˡ㳰ʤΤǿȤˤĤΤ recv."[]"(arg..) -Ȳᤵ. ǤƱͤǤ. +Ȳᤵ. ǤؤƱͤ + + recv[arg0..] = argn + +, + + recv."[]="(arg0.., argn) + +Ȳᤵ. ** P if, unless, while, untilξȽμ, ü黻`&&', `||', `...'ξդμ, ̾黻`!'αդϾPȸƤФ. PǤʸ ɽƥϼ$_=~ƥפξάǤȤߤʤ. -黻`...'ξդǤƥ뤬$.==ƥפξάȲᤵ. +黻`...'ξդǤ$.==פξάȲᤵ. : 黻`!'ü黻ҤǤϤʤΤ, Ԥʤ˵Ĥ 뤳. @@ -360,8 +387,9 @@ if, unless, while, untilξȽμ, ü黻`&&', `||', ! ʸƥ ! ɽƥ -ηǸƤӽФåɤΰ, ƥɽ֥ȤǤϤʤ. -`!'åɤϺʤɤȻפ. +ηǸƤӽФåɤΰ, ƥɽ֥ȤǤϤʤ, +嵭Ӥη̤Ϳ. Τ, §Ū`!'åɤϺ +ʤɤȻפ. ** @@ -395,9 +423,10 @@ moduleʸѤ. ϱ黻ҷȤäƤ뤬, åɤǤϤʤ 1 op= 2 # 1ǽǤʤФʤʤ. - ηŪˡּ1 = 1 op 2פŸ, ¹Ԥ. - ϥץޤΥ餹ŪΤ¸ߤǤ - . opȤƻȤ黻Ҥ + ηŪˡּ1 = 1 op 2פŸ, ¹Ԥ. + ἰ12ɾΤ, Ѥͽۤʤ̤Ƥ + ǽ. ϥץޤΥ餹ŪΤ + ¸ߤǤ. opȤƻȤ黻Ҥ +, -, *, /, %, **, &, |, ^, <<, >> @@ -409,10 +438,10 @@ moduleʸѤ. ϱ黻ҷȤäƤ뤬, åɤǤϤʤ ѿ, [ѿ,...] = [, ] -դμĤʤ, , ͤǤˤǤ -ѿ. ʳξˤ, 줾μͤѿ -. դѿοȱդǤοʤˤʤѿˤ -nil, ;äǤ̵뤵. +դμĤʤ, ͤȤ(ɬפʤto_a +ɤѴ), Ǥ줾ѿ. ʳξˤ, +줾μͤѿ. դѿοȱդǤο +ʤˤʤѿˤ nil, ;äǤ̵뤵. foo, bar = [1, 2] # foo = 1; bar = 2 foo, bar = 1, 2 # foo = 1; bar = 2 @@ -633,7 +662,7 @@ protectʳ, unless黻, until黻Ҥϱդͤ㳰ȯ ϥͥȤǤʤΤ, åʸǤϥåʸƤӸ ӽФʤ. - def [func] å̾ [ ( [, ...][, * ] ) ] + def å̾ [ ( [, ...][, * ] ) ] end [ def ] @@ -641,9 +670,6 @@ protectʳ, unless黻, until黻Ҥϱդͤ㳰ȯ ǻꤹ. ¤ӤκǸ`*', ¿Ϳ줿 °, ǸΰȤͿ(ʤˤϥ顼). -`func'ꤵ줿ˤϤΥåɤϴؿǤƤӽФ -ȤǤؿŪåɤˤʤ. - ** ðۥå åˤϤ⤦ðۥåɤ. ϰʲ̤Ǥ @@ -895,13 +921,15 @@ Rubyˤϸ̩ʰ̣ǤϴؿϤʤKernel饹Υåɤΰ( pattern˥ޥåʬreplace֤. String饹 subåɤβȤΤ. - system(command) + + syscall(num, arg...) + - ޥɤ¹Ԥ, νλơ֤. + numǻꤵ줿ֹΥƥॳ¹Ԥ. 2ʹߤ + ƥॳΰȤϤ. ʸޤǤʤ + ʤʤ. - system2(command) + + system(command) + - ޥɤ¹Ԥ, νϤʸȤ֤. + ޥɤ¹Ԥ, νλơ֤. trap(command, signal...) + @@ -964,7 +992,8 @@ Rubyˤϸ̩ʰ̣ǤϴؿϤʤKernel饹Υåɤΰ( $_ Ǹgets()ʤɤɤ߹ʸ. - $0 rubyץȤ̾ + $0 rubyץȤ̾. ѿps(1)ν + Ѳ. $* rubyץȤͿ줿. rubyȤФ Ƥ. @@ -2019,20 +2048,6 @@ Single Methods: GCϤ. - threshold - - GCγϥߥꤹͤθߤ֤ͤ. - - threshold=(val) - - GCͤꤹ. Ť֤ͤ. - - start_hook - end_hook - - GCγϻ, λˤ줾ƤФ. ǥեȤǤϲ⤷ʤ - åɤƤ. - *** Integer(饹) 饹. ºݤϤ礭ˤäFixnumBignumĤΥ֥饹 @@ -2330,14 +2345,7 @@ Methods: *** Nil(饹) ɽ֥nilΥ饹. ѿ()nilNil饹ͣΥ -Ǥ. nil饹ӥåɤդ뤬, Ӥ -ϢԤʤǤ. ӤϢȤ - - 10 < a < 13 - -Τ褦ʤΤǤ. ӱ黻ҥåɤϼԤnil֤, -ϱդΥ֥Ȥ֤Τ, nilӱ黻Ҥ˵֤Ȥˤ -ϢΩ. +Ǥ. SuperClass: Kernel @@ -2345,19 +2353,7 @@ Methods: self + other - other, ư, ʸ, Τ줫Ǥä, - other֤. ̤ΰФ뼫ʤ褦Ѱ - 줿åɤǤ. - - foo # ͤnil - foo += 1 # foo1ˤʤ. - - self > other - self >= other - self < other - self <= other - - ϢΤΥå. nil֤. + other, ư, ʸ, Ǥ, other֤. ! self |