summaryrefslogtreecommitdiff
path: root/C-IF
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 /C-IF
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 'C-IF')
-rw-r--r--C-IF35
1 files changed, 17 insertions, 18 deletions
diff --git a/C-IF b/C-IF
index 05f6edb638..5c66a20ddc 100644
--- a/C-IF
+++ b/C-IF
@@ -24,9 +24,6 @@ Ruby-C 󥿡ե
ѹϰʸselfͤΤΤѤäƤޤΤ, ̤ʻ
ʤ¤ƤϤʤʤ.
- : إåե"env.h"򥤥󥯥롼ɤƤʤեǤ,
- QselfǤ, ʸˡ顼Ȥʤ.
-
TRUE
: t֥(Υǥե)
@@ -43,7 +40,7 @@ Ruby-C 󥿡ե
VALUE rb_define_module(char *name)
- Ruby⥸塼.
+ Ruby⥸塼.
void rb_include_module(VALUE class, VALUE module)
@@ -67,8 +64,8 @@ Ruby-C 󥿡ե
void rb_global_variable(VALUE *var)
- GCΤRubyϥʤ, Ruby֥Ȥޤ
- ޡ.
+ GCΤᡤRubyץफϥʤ, Ruby֥
+ ޤѿޡ.
void rb_read_only_hook()
@@ -87,20 +84,21 @@ Ruby-C 󥿡ե
᥽åɤ. argcselfο. argc-1λ, ؿ
ϰο(selfޤޤʤ)1, 2Ȥ
- Ϳ. argc-2λ, self, args(argsϰޤruby
- )ȤͿ.
+ Ϳ(3self). argc-2λ, self, args(args
+ ޤruby)ȤͿ.
rb_define_single_method(VALUE class, char *name, VALUE (*func)(), int argc)
ðۥ᥽åɤ. rb_define_method()Ʊ.
- rb_scan_args(VALUE args, char *fmt, ...)
+ rb_scan_args(int atgc, VALUE *argv, char *fmt, ...)
- argsͿ줿ʬ򤹤. fmtɬܰο, ղðο,
- Ĥΰ뤫ꤹʸ, "*"ȤǤ.
- 2 ܤο"*"Ϥ줾άǽǤ. 3ʹߤѿؤΥ
- 󥿤, Ǥѿ˳Ǽ. ղðб
- ͿƤʤѿQnil.
+ argc,argvͿ줿ʬ򤹤. fmtɬܰο, ղð
+ ο, Ĥΰ뤫ꤹʸ, "*"Ȥ
+ Ǥ. 2 ܤο"*"Ϥ줾άǽǤ. ɬܰ
+ ʤ0ꤹ롥3ʹߤѿؤΥݥ󥿤,
+ Ǥѿ˳Ǽ. ղðбͿƤ
+ ѿQnil.
Ruby᥽åɸƤӽФ
@@ -108,12 +106,13 @@ Ruby᥽åɸƤӽФ
᥽åɸƤӽФ. ʸ󤫤mid뤿ˤrb_intern()Ȥ.
- rb_call_super(VALUE args)
+ VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv)
+
+ ᥽åɸƤӽФ. argc,argvϤ
- ѡ饹Υ᥽åɤƤӽФ. argsϰꥹȤȤʤ.
- args QnilλϸߤΥ᥽åɤΰ򤽤ΤޤްѤ.
+ VALUE rb_eval_string(char *str)
-ʸ <-> IDѴ
+ ʸrubyȥץȤƥѥ롦¹Ԥ롥
ID rb_intern(char *name)