[#27441] Cannot build ruby-1.6.2 (and stable-snapshot) on HP-UX10.20 — MIANAKAWA masaru <earth@...2.sci.ibaraki.ac.jp>

皆川@茨大と言います。

16 messages 2001/02/01

[#27473] Ruby への希望 (2): シンボリックリンクの扱いの強化 — Takahiro Kambe <taca@...>

その2で、シンボリックリンクの扱いについてです。

9 messages 2001/02/03

[#27486] Open Source Festival — Masaki Suketa <CQN02273@...>

助田です。宣伝です。

18 messages 2001/02/04

[#27546] net/smtp,pop,http 1.2 pre2 — Minero Aoki <aamine@...>

あおきです。

35 messages 2001/02/06
[#27548] Re: net/smtp,pop,http 1.2 pre2 — Tanaka Akira <akr@...17n.org> 2001/02/06

In article <20010206202204E.aamine@mail.u-netsurf.ne.jp>,

[#27551] Re: net/smtp,pop,http 1.2 pre2 — Minero Aoki <aamine@...> 2001/02/06

あおきです。

[#27574] Re: net/smtp,pop,http 1.2 pre2 — Tanaka Akira <akr@...17n.org> 2001/02/07

In article <20010206221028C.aamine@mail.u-netsurf.ne.jp>,

[#27580] Re: net/smtp,pop,http 1.2 pre2 — Minero Aoki <aamine@...> 2001/02/07

あおきです。

[#27648] Re: net/smtp,pop,http 1.2 pre2 — OHSHIMA Ryunosuke <ryu@...> 2001/02/09

大島です。

[#27561] ParseDate.to_time — rubikitch <rubikitch@...>

るびきちです。

100 messages 2001/02/07
[#27657] Re: ParseDate.to_time — "Shin'ya Adzumi" <adzumi@...> 2001/02/09

あづみです。

[#27802] Re: ParseDate.to_time — Tadayoshi Funaba <tadf@...> 2001/02/13

ふなばです。

[#27831] Re: ParseDate.to_time — "Shin'ya Adzumi" <adzumi@...> 2001/02/14

あづみです。

[#27837] Re: ParseDate.to_time — Tadayoshi Funaba <tadf@...> 2001/02/14

ふなばです。

[#27848] Re: ParseDate.to_time — " たけ (tk)" <ggb03124@...> 2001/02/14

たけ(tk)です。

[#27854] Re: ParseDate.to_time — matz@... (Yukihiro Matsumoto) 2001/02/15

まつもと ゆきひろです

[#27858] Re: ParseDate.to_time — Takahiro Kambe <taca@...> 2001/02/15

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

[#27889] Re: ParseDate.to_time — Tadayoshi Funaba <tadf@...> 2001/02/15

ふなばです。

[#27890] Re: ParseDate.to_time — Takahiro Kambe <taca@...> 2001/02/15

In message <20010216003018P.tadf@kt.rim.or.jp>

[#27893] Re: ParseDate.to_time — " たけ (tk)" <ggb03124@...> 2001/02/15

たけ(tk)です。

[#27901] Re: ParseDate.to_time — matz@... (Yukihiro Matsumoto) 2001/02/15

まつもと ゆきひろです

[#27962] Re: ParseDate.to_time — " たけ (tk)" <ggb03124@...> 2001/02/17

たけ(tk)です。

[#27975] Re: ParseDate.to_time — matz@... (Yukihiro Matsumoto) 2001/02/17

まつもと ゆきひろです

[#27994] Re: ParseDate.to_time — " たけ (tk)" <ggb03124@...> 2001/02/17

たけ(tk)です。

[#28010] Re: ParseDate.to_time — Tadayoshi Funaba <tadf@...> 2001/02/18

ふなばです。

[#28014] Re: ParseDate.to_time — " たけ (tk)" <ggb03124@...> 2001/02/18

たけ(tk)です。

[#28020] Re: ParseDate.to_time — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/02/18

もりきゅうです。

[#28031] Re: ParseDate.to_time — Takahiro Kambe <taca@...> 2001/02/18

In message <200102180841.AA00612@euler.nifty.ne.jp>

[#28036] Re: ParseDate.to_time — とみたまさひろ <tommy@...> 2001/02/18

とみたです。

[#27565] importenv.rb — rubikitch <rubikitch@...>

るびきちです。

19 messages 2001/02/07
[#27573] Re: importenv.rb — "K.Kosako" <kosako@...> 2001/02/07

rubikitchさんの<20010207124131-15878M.takashi@localhost>から

[#27576] Re: importenv.rb — "Nobuyoshi.Nakada" <nobu.nakada@...> 2001/02/07

なかだです。

[#27588] interbase6 — Naoto Hiroshima <taisei-in@...>

こんにちは。

14 messages 2001/02/07

[#27631] 文字数 — Kenji Noda <zaq94465a@...>

野田と申します

23 messages 2001/02/08
[#27632] Re: 文字数 — rubikitch <rubikitch@...> 2001/02/08

From: Kenji Noda <zaq94465a@cat.zero.ad.jp>

[#27644] Re: 文字数 — Kenichi Komiya <kom@...1.accsnet.ne.jp> 2001/02/08

[#27674] 配列をハッシュへ — Naoto Hiroshima <taisei-in@...>

こんにちは。

32 messages 2001/02/10
[#27852] Re: 配列をハッシュへ — Shin-ichiro HARA <sinara@...> 2001/02/15

原です。

[#27853] Re: 配列をハッシュへ — Naoto Hiroshima <taisei-in@...> 2001/02/15

こんにちは。

[#27856] Re: 配列をハッシュへ — matz@... (Yukihiro Matsumoto) 2001/02/15

まつもと ゆきひろです

[#27857] Re: 配列をハッシュへ — Naoto Hiroshima <taisei-in@...> 2001/02/15

こんにちは。 Ruby をありがとうございます。

[#27860] Re: 配列をハッシュへ — "Nobuyoshi.Nakada" <nobu.nakada@...> 2001/02/15

なかだです。

[#27724] [Q] about RWiki and ref.manual — Minero Aoki <aamine@...>

あおきです。

19 messages 2001/02/11
[#27726] Re: [Q] about RWiki and ref.manual — Koji Arai <JCA02266@...> 2001/02/11

新井です。

[#27727] Re: [Q] about RWiki and ref.manual — Minero Aoki <aamine@...> 2001/02/11

あおきです。

[#27836] Ruby/Gtk compile error — tsone@... (曽根俊彦)

今晩は、曽根俊彦です。

21 messages 2001/02/14
[#27839] Re: Ruby/Gtk compile error — IWAOKA Masahiro <iwaoka@...> 2001/02/14

いわおかです。気づいたとこだけ。

[#27850] Re: Ruby/Gtk compile error — tsone@... (曽根俊彦) 2001/02/14

IWAOKA Masahiro <iwaoka@tuat.jac-net.com> writes:

[#27868] Re: Ruby/Gtk compile error — Hiroshi IGARASHI <igarashi@...> 2001/02/15

いがらしです。

[#27859] 【質問】“ Ruby プログラミング入門”の内容について (From 超初心者) — Nobuo hirata <psy-1114@...2.so-net.ne.jp>

はじめまして、“うえの”という超初心者です、よろしくお願い致します。

21 messages 2001/02/15
[#27863] Re: 【質問】“ Ruby プログラミング入門”の内容について (From 超初心者) — WATANABE Hirofumi <eban@...> 2001/02/15

わたなべです。

[#27886] Re: 【質問】“ Ruby プログラミング入門”の内容について (From 超初心者) — Nobuo hirata <psy-1114@...2.so-net.ne.jp> 2001/02/15

わたなべさん、レス有り難う御座います。

[#27894] Re: 【質問】“ Ruby プログラミング入門”の内容について (From 超初心者 ) — Inoue Shinobu <VEF00372@...> 2001/02/15

[#27980] Dir[pattern] — Kazuhiro NISHIYAMA <zn@...>

2バイト目に「\」を含むファイル名がDir['*']で出てきません。

18 messages 2001/02/17
[#27984] Re: Dir[pattern] — "U.Nakamura" <usa@...> 2001/02/17

こんにちは、なかむら(う)です。

[#27988] Re: Dir[pattern] — "U.Nakamura" <usa@...> 2001/02/17

こんにちは、なかむら(う)です。

[#28071] HTML::Template みたいなもの — Hirosato Matsuura <matswra@...>

松浦@コムデザイン といいます。

21 messages 2001/02/19
[#28093] Re: HTML::Template みたいなもの — Hirosato Matsuura <matswra@...> 2001/02/20

松浦@コムデザインです

[#28078] 正規表現で <!-- コメント --> の認識 — kai13@...

Tree型htmlパーザーを開発していてるのですが、

14 messages 2001/02/20

[#28138] handling of #! — Takahiro Kambe <taca@...>

こんばんは。

25 messages 2001/02/21
[#28139] Re: handling of #! — nobu.nakada@... 2001/02/21

なかだです。

[#28142] Re: handling of #! — Takahiro Kambe <taca@...> 2001/02/22

In message <200102211914.EAA01450@sharui.nakada.kanuma.tochigi.jp>

[#28143] Re: handling of #! — "Nobuyoshi.Nakada" <nobu.nakada@...> 2001/02/22

なかだです。

[#28145] Re: handling of #! — Takahiro Kambe <taca@...> 2001/02/22

In message <200102220405.NAA19549@m2.gw.fujitsu.co.jp>

[#28146] Re: handling of #! — "Nobuyoshi.Nakada" <nobu.nakada@...> 2001/02/22

なかだです。

[#28147] Re: handling of #! — Takahiro Kambe <taca@...> 2001/02/22

In message <200102220912.SAA27681@m5.gw.fujitsu.co.jp>

[#28154] Re: handling of #! — nobu.nakada@... 2001/02/22

なかだです。

[#28219] Cast — Shin-ichiro HARA <sinara@...>

原です。

19 messages 2001/02/24

[#28231] CGI でのロック (was: File.rename の例外) — DEQ <deq@...>

DEQです。

12 messages 2001/02/24

[#28258] txt文に変更したい — Inoue Shinobu <VEF00372@...>

こんなこと、RUBYでできないもんでしょうか。

17 messages 2001/02/25

[#28281] kidou opushon wo dokoni? — Inoue Shinobu <VEF00372@...>

助田さんの作ってくださった

41 messages 2001/02/25
[#28444] Re: kidou opushon wo dokoni? — Masaki Suketa <masaki.suketa@...> 2001/03/03

助田です。

[#28504] Re: kidou opushon wo dokoni? — Inoue Shinobu <VEF00372@...> 2001/03/05

[#28524] Re: kidou opushon wo dokoni? — " たけ (tk)" <ggb03124@...> 2001/03/05

たけ(tk)です。

[#28548] Re: 日本語表示にこだわりが・・・ — Inoue Shinobu <VEF00372@...> 2001/03/06

newさん、みなさんこんにちは。申し訳ありませんがもう少しおつきあいしてくだ

[#28333] Re: argument to instance_eval block(Re: — 正木 功 <GEC01122@...>

正木です。

29 messages 2001/02/27
[#28334] Re: argument to instance_eval block(Re: — "Nobuyoshi.Nakada" <nobu.nakada@...> 2001/02/27

なかだです。

[#28336] Re: argument to instance_eval block(Re: — Minero Aoki <aamine@...> 2001/02/27

あおきです。

[#28338] Re: argument to instance_eval block(Re: — "K.Kosako" <kosako@...> 2001/02/27

Minero Aokiさんの

[#28341] Re: argument to instance_eval block(Re: — keiju@... (石塚圭樹) 2001/02/27

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

[#28353] Re: argument to instance_eval block — Minero Aoki <aamine@...> 2001/02/27

あおきです。

[#28368] 【要望】 EmacsLisp みたいなフック — kai13@...

ファイルリストなどをフィルタリングする時に然るべきタイミングで

16 messages 2001/02/28
[#28369] Re: 【要望】 EmacsLisp みたいなフック — matz@... (Yukihiro Matsumoto) 2001/02/28

まつもと ゆきひろです

[#28370] Re: 【要望】 EmacsLisp みたいなフック — kai13@... 2001/02/28

On Wed, 28 Feb 2001 15:57:38 +0900

[ruby-list:28347] Re: Cast

From: "K.Kosako" <kosako@...>
Date: 2001-02-27 08:41:46 UTC
List: ruby-list #28347
Yukihiro Matsumotoさんの
<983199207.503414.26928.nullmailer@ev.netlab.zetabits.com>から
> |そういえば、クラス定義で class に続くものを式にも出来ないで
> |しょうか。無名クラス Foo(n) に対して「class Foo(n) … end」
> |のように書きたいことがしばしばあります。
> 
> うーん、気持ちは分からないでもないですが...
> だれか実装してみない? 

まつもとさんが、文法に関わることを
他人にまかされるとは珍しい。
二度とないかもしれない、大チャンスですね。

以下のようなことができればよいのでしょうか?

def Foo(obj)
  obj
end

class Foo(String)
  def bar(*args); printf("bar: %s\n", args); end
end

String.new("abc").bar(1, 2, 3)

class Foo_2934; end

def foo(n)
  eval("Foo_" + n.to_s)
end

class foo(2934)
  def bar; puts "bar success !"; end
end

Foo_2934.new.bar


実装してみました。
上記のスクリプトと make testしかチェックしていません。


--- parse.y	Mon Feb 26 14:29:00 2001
+++ /home/kosako/ruby/parse.y	Tue Feb 27 14:31:31 2001
@@ -86,6 +86,7 @@
 #define CMDARG_P() (cmdarg_stack && (cmdarg_stack&1))
 
 static int class_nest = 0;
+static int in_class_head = 0;
 static int in_single = 0;
 static int in_def = 0;
 static int compile_for_eval = 0;
@@ -214,6 +215,7 @@
 %type <id>   fitem variable sym symbol operation operation2 operation3
 %type <id>   cname fname op f_rest_arg
 %type <num>  f_norm_arg f_arg
+%token tRELSUPER        /* < */
 %token tUPLUS 		/* unary+ */
 %token tUMINUS 		/* unary- */
 %token tPOW		/* ** */
@@ -1253,8 +1255,9 @@
 			$$ = NEW_FOR($2, $5, $8);
 		        fixpos($$, $2);
 		    }
-		| kCLASS cname superclass
+		| class_start expr superclass
 		    {
+		        in_class_head = 0;
 			if (in_def || in_single)
 			    yyerror("class definition in method body");
 			class_nest++;
@@ -1271,7 +1274,11 @@
 			cref_pop();
 			class_nest--;
 		    }
-		| kCLASS tLSHFT expr
+		| class_start tLSHFT
+		    {
+		        in_class_head = 0;
+		    }
+		  expr
 		    {
 			$<num>$ = in_def;
 		        in_def = 0;
@@ -1287,13 +1294,13 @@
 		  compstmt
 		  kEND
 		    {
-		        $$ = NEW_SCLASS($3, $7);
-		        fixpos($$, $3);
+		        $$ = NEW_SCLASS($4, $8);
+		        fixpos($$, $4);
 		        local_pop();
 			cref_pop();
 			class_nest--;
-		        in_def = $<num>4;
-		        in_single = $<num>6;
+		        in_def = $<num>5;
+		        in_single = $<num>7;
 		    }
 		| kMODULE cname
 		    {
@@ -1377,6 +1384,11 @@
 			$$ = NEW_RETRY();
 		    }
 
+class_start     : kCLASS
+                    {
+		      in_class_head = 1;
+		    }
+
 then		: term
 		| kTHEN
 		| term kTHEN
@@ -1638,7 +1650,7 @@
 		    {
 			$$ = 0;
 		    }
-		| '<'
+		| tRELSUPER
 		    {
 			lex_state = EXPR_BEG;
 		    }
@@ -1984,6 +1996,7 @@
     cond_nest = 0;
     cond_stack = 0;
     class_nest = 0;
+    in_class_head = 0;
     in_single = 0;
     in_def = 0;
     cur_mid = 0;
@@ -2964,6 +2977,8 @@
 	    return tLSHFT;
 	}
 	pushback(c);
+	if (in_class_head)
+	  return tRELSUPER;
 	return '<';
 
       case '>':
@@ -3373,7 +3388,8 @@
 	if (cond_nest > 0) {
 	    cond_stack = (cond_stack<<1)|0;
 	}
-	if (lex_state == EXPR_BEG || lex_state == EXPR_MID) {
+	if (lex_state == EXPR_BEG || lex_state == EXPR_MID ||
+	    lex_state == EXPR_CLASS) {
 	    c = tLPAREN;
 	}
 	else if (lex_state == EXPR_ARG && space_seen) {


--- eval.c	Mon Feb 26 14:29:00 2001
+++ /home/kosako/ruby/eval.c	Tue Feb 27 17:18:03 2001
@@ -3047,6 +3047,7 @@
       case NODE_CLASS:
 	{
 	    VALUE super, klass, tmp;
+	    ID cname = 0;
 
 	    if (NIL_P(ruby_class)) {
 		rb_raise(rb_eTypeError, "no outer class/module");
@@ -3059,16 +3060,28 @@
 	    }
 
 	    klass = 0;
-	    if ((ruby_class == rb_cObject) && rb_autoload_defined(node->nd_cname)) {
-		rb_autoload_load(node->nd_cname);
+	    if (nd_type(node->nd_cname) == NODE_CONST) {
+	      cname = ((NODE* )(node->nd_cname))->nd_vid;
 	    }
-	    if (rb_const_defined_at(ruby_class, node->nd_cname)) {
-		klass = rb_const_get(ruby_class, node->nd_cname);
+	    else {
+	      klass = rb_eval(self, (NODE* )(node->nd_cname));
+	      if (! klass || TYPE(klass) != T_CLASS) {
+		rb_raise(rb_eTypeError, "class name value is not a class object");
+	      }
+	    }
+
+	    if (cname) {
+	      if ((ruby_class == rb_cObject) && rb_autoload_defined(cname)) {
+		rb_autoload_load(cname);
+	      }
+	      if (rb_const_defined_at(ruby_class, cname)) {
+		klass = rb_const_get(ruby_class, cname);
+	      }
 	    }
 	    if (klass) {
 		if (TYPE(klass) != T_CLASS) {
 		    rb_raise(rb_eTypeError, "%s is not a class",
-			     rb_id2name(node->nd_cname));
+			   (cname ? rb_id2name(cname) : "class name object"));
 		}
 		if (super) {
 		    tmp = RCLASS(klass)->super;
@@ -3091,9 +3104,14 @@
 	    else {
 	      override_class:
 		if (!super) super = rb_cObject;
-		klass = rb_define_class_id(node->nd_cname, super);
-		rb_const_set(ruby_class, node->nd_cname, klass);
-		rb_set_class_path(klass,ruby_class,rb_id2name(node->nd_cname));
+		if (cname) {
+		  klass = rb_define_class_id(cname, super);
+		  rb_const_set(ruby_class, cname, klass);
+		  rb_set_class_path(klass,ruby_class,rb_id2name(cname));
+		}
+		else {
+		  klass = rb_define_class("(anonymous)", super);
+		}
 	    }
 	    if (ruby_wrapper) {
 		rb_extend_object(klass, ruby_wrapper);

----
小迫@ソフネック   渋谷区恵比寿1-15-1

In This Thread