[#12387] reducing logical operation — "Nobuyoshi.Nakada" <nobu.nakada@...>

なかだです。

17 messages 2001/03/07
[#12388] Re: reducing logical operation — EGUCHI Osamu <eguchi@...> 2001/03/07

えぐち@エスアンドイー です。

[#12389] Re: reducing logical operation — nobu.nakada@... 2001/03/07

なかだです。

[#12391] Re: reducing logical operation — EGUCHI Osamu <eguchi@...> 2001/03/07

えぐち@エスアンドイー です。

[#12404] fork in threads — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

14 messages 2001/03/09

[#12405] at_exit — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

15 messages 2001/03/09
[#12409] Re: at_exit — matz@... (Yukihiro Matsumoto) 2001/03/10

まつもと ゆきひろです

[#12411] Re: at_exit — keiju@... (石塚圭樹) 2001/03/10

けいじゅ@日本ラショナルソフトウェアです.

[#12425] bignum % の結果が負数になることがある — Hisayasu Nakao <h-nakao@...>

最近、ruby-1.6.2を使い出したばかりの中尾です。

39 messages 2001/03/12
[#12427] Re: bignum % の結果が負数になることがある — WATANABE Hirofumi <eban@...> 2001/03/12

わたなべです。

[#12463] Re: bignum % の結果が負数になることがある — Takahiro Kambe <taca@...> 2001/03/13

In message <4518-Mon12Mar2001145434+0900-eban@os.rim.or.jp>

[#12464] Re: bignum % の結果が負数になることがある — matz@... (Yukihiro Matsumoto) 2001/03/13

まつもと ゆきひろです

[#12466] Re: bignum % の結果が負数になることがある — Takahiro Kambe <taca@...> 2001/03/13

In message <984469222.234203.1007.nullmailer@ev.netlab.zetabits.com>

[#12475] Re: bignum % の結果が負数になることがある — matz@... (Yukihiro Matsumoto) 2001/03/14

まつもと ゆきひろです

[#12476] Re: bignum % の結果が負数になることがある — Takahiro Kambe <taca@...> 2001/03/14

In message <984550885.417146.3670.nullmailer@ev.netlab.zetabits.com>

[#12480] Re: bignum % の結果が負数になることがある — matz@... (Yukihiro Matsumoto) 2001/03/14

まつもと ゆきひろです

[#12481] Re: bignum % の結果が負数になることがある — Takahiro Kambe <taca@...> 2001/03/14

In message <984553493.009507.3747.nullmailer@ev.netlab.zetabits.com>

[#12488] Re: bignum % の結果が負数になることがある — matz@... (Yukihiro Matsumoto) 2001/03/14

まつもと ゆきひろです

[#12493] Re: bignum % の結果が負数になることがある — Takahiro Kambe <taca@...> 2001/03/14

In message <984579430.080967.5569.nullmailer@ev.netlab.zetabits.com>

[#12578] require 'win32api' — Kazuhiro NISHIYAMA <zn@...>

require 'win32api'のエラーメッセージがわかりにくいと

21 messages 2001/03/20
[#12579] Re: require 'win32api' — nobu.nakada@... 2001/03/20

なかだです。

[#12598] Re: require 'win32api' — nobu.nakada@... 2001/03/21

なかだです。

[#12582] finalizer problem — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

20 messages 2001/03/20
[#12583] Re: finalizer problem — matz@... (Yukihiro Matsumoto) 2001/03/20

まつもと ゆきひろです

[#12585] Re: finalizer problem — keiju@... (石塚圭樹) 2001/03/20

けいじゅ@日本ラショナルソフトウェアです.

[#12591] Re: finalizer problem — matz@... (Yukihiro Matsumoto) 2001/03/20

まつもと ゆきひろです

[#12619] Re: finalizer problem — keiju@... (石塚圭樹) 2001/03/22

けいじゅ@日本ラショナルソフトウェアです.

[#12605] extern inline (ruby.h) ruby-1.6.3 — WATANABE Tetsuya <tetsu@...>

渡辺哲也です。

17 messages 2001/03/22
[#12606] Re: extern inline (ruby.h) ruby-1.6.3 — matz@... (Yukihiro Matsumoto) 2001/03/22

まつもと ゆきひろです

[#12607] Re: extern inline (ruby.h) ruby-1.6.3 — WATANABE Tetsuya <tetsu@...> 2001/03/22

渡辺哲也です。

[#12608] Re: extern inline (ruby.h) ruby-1.6.3 — matz@... (Yukihiro Matsumoto) 2001/03/22

まつもと ゆきひろです

[#12674] Was: [rubyist:0454] Re: to_str — Kenichi Komiya <kom@...1.accsnet.ne.jp>

21 messages 2001/03/25
[#12675] Re: Was: [rubyist:0454] Re: to_str — matz@... (Yukihiro Matsumoto) 2001/03/26

まつもと ゆきひろです

[#12678] Re: Was: [rubyist:0454] Re: to_str — Kenichi Komiya <kom@...1.accsnet.ne.jp> 2001/03/26

[#12681] Re: Was: [rubyist:0454] Re: to_str — matz@... (Yukihiro Matsumoto) 2001/03/26

まつもと ゆきひろです

[#12687] Re: Was: [rubyist:0454] Re: to_str — Kenichi Komiya <kom@...1.accsnet.ne.jp> 2001/03/27

[#12688] Re: Was: [rubyist:0454] Re: to_str — matz@... (Yukihiro Matsumoto) 2001/03/28

まつもと ゆきひろです

[#12710] Re: Was: [rubyist:0454] Re: to_str — Kenichi Komiya <kom@...1.accsnet.ne.jp> 2001/03/31

[ruby-dev:12329] Re: [ruby-list:28364] class definition extension

From: "Nobuyoshi.Nakada" <nobu.nakada@...>
Date: 2001-03-01 01:40:11 UTC
List: ruby-dev #12329
なかだです。

At Wed, 28 Feb 2001 19:56:19 +0900
"Nobuyoshi.Nakada" <nobu.nakada@nifty.ne.jp> wrote:
>   クラス指定が () 必須でよければルールだけで対応できそうな気も
> しますが。

  これだけなら楽なんですけどねぇ。甘過ぎ?


Index: node.h
===================================================================
RCS file: /cvs/ruby/src/ruby/node.h,v
retrieving revision 1.21
diff -u -2 -p -r1.21 node.h
--- node.h	2001/02/14 05:51:57	1.21
+++ node.h	2001/02/28 22:43:47
@@ -122,4 +122,5 @@ enum node_type {
     NODE_MEMO,
     NODE_IFUNC,
+    NODE_ACLASS,
     NODE_LAST
 };
@@ -312,4 +313,5 @@ typedef struct RNode {
 #define NEW_CLASS(n,b,s) rb_node_newnode(NODE_CLASS,n,NEW_CBODY(b),(s))
 #define NEW_SCLASS(r,b) rb_node_newnode(NODE_SCLASS,r,NEW_CBODY(b),0)
+#define NEW_ACLASS(r,b) rb_node_newnode(NODE_ACLASS,r,NEW_CBODY(b),0)
 #define NEW_MODULE(n,b) rb_node_newnode(NODE_MODULE,n,NEW_CBODY(b),0)
 #define NEW_COLON2(c,i) rb_node_newnode(NODE_COLON2,c,i,0)
Index: eval.c
===================================================================
RCS file: /cvs/ruby/src/ruby/eval.c,v
retrieving revision 1.159
diff -u -2 -p -r1.159 eval.c
--- eval.c	2001/02/28 06:30:03	1.159
+++ eval.c	2001/02/28 23:03:47
@@ -3167,4 +3167,28 @@ rb_eval(self, n)
 	break;
 
+      case NODE_ACLASS:
+	{
+	    VALUE klass;
+
+	    if (NIL_P(ruby_class)) {
+		rb_raise(rb_eTypeError, "no outer class/module");
+	    }
+	    klass = rb_eval(self, node->nd_head);
+	    if (TYPE(klass) != T_CLASS) {
+		rb_raise(rb_eTypeError, "class name value is not a class object");
+	    }
+	    if (rb_safe_level() >= 4) {
+		rb_raise(rb_eSecurityError, "extending class prohibited");
+	    }
+	    rb_clear_cache();
+	    if (ruby_wrapper) {
+		rb_extend_object(klass, ruby_wrapper);
+		rb_include_module(klass, ruby_wrapper);
+	    }
+
+	    result = module_setup(klass, node->nd_body);
+	}
+	break;
+
       case NODE_DEFINED:
 	{
Index: parse.y
===================================================================
RCS file: /cvs/ruby/src/ruby/parse.y,v
retrieving revision 1.89
diff -u -2 -p -r1.89 parse.y
--- parse.y	2001/02/26 05:29:00	1.89
+++ parse.y	2001/02/28 22:43:13
@@ -1254,4 +1254,22 @@ primary		: literal
 		        fixpos($$, $2);
 		    }
+		| kCLASS '(' expr opt_nl ')'
+		    {
+			if (in_def || in_single)
+			    yyerror("class definition in method body");
+			class_nest++;
+			cref_push();
+			local_push();
+		        $<num>$ = ruby_sourceline;
+		    }
+		  compstmt
+		  kEND
+		    {
+		        $$ = NEW_ACLASS($3, $7);
+		        nd_set_line($$, $<num>6);
+		        local_pop();
+			cref_pop();
+			class_nest--;
+		    }
 		| kCLASS cname superclass
 		    {



-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread