[#34011] Should --verbose be equal to -v ? — Yugui <yugui@...>

Yuguiです。

15 messages 2008/03/10
[#34012] Re: Should --verbose be equal to -v ? — Yukihiro Matsumoto <matz@...> 2008/03/10

まつもと ゆきひろです

[#34105] rational.rb, complex.rb and mathn.rb — Tadayoshi Funaba <tadf@...>

rational と complex が組み込みになったことで、lib/mathn.rb の意義は薄

29 messages 2008/03/22
[#34106] Re: rational.rb, complex.rb and mathn.rb — Tadayoshi Funaba <tadf@...> 2008/03/22

現時点で rational.rb と complex.rb を残しているのは、それが無難だから

[#34107] Re: rational.rb, complex.rb and mathn.rb — Tadayoshi Funaba <tadf@...> 2008/03/22

で、かなり選択肢を絞った叩き台です。

[#34120] Re: rational.rb, complex.rb and mathn.rb — keiju@... (石塚圭樹) 2008/03/24

けいじゅ@いしつかです.

[#34125] Re: rational.rb, complex.rb and mathn.rb — Shin-ichiro HARA <sinara@...> 2008/03/25

原です。

[#34130] Re: rational.rb, complex.rb and mathn.rb — Tadayoshi Funaba <tadf@...> 2008/03/25

> 私も Complex の組み込みは Rational とは比較にならないくらい、仕様が決め

[#34158] Complex組み込み — Masahiro TANAKA <masa16.tanaka@...>

Complexが組み込みになるそうですが、これはcomplex.rbを踏襲して、

49 messages 2008/03/27
[#34161] Re: Complex組み込み — Shin-ichiro HARA <sinara@...> 2008/03/28

原です。

[#34168] Re: Complex組み込み — Tadayoshi Funaba <tadf@...> 2008/03/28

> 今までの Complex は、complex.rb にほぼ残して、たとえば Rational 成分

[#34186] Re: Complex組み込み — Shin-ichiro HARA <sinara@...> 2008/03/31

原です。

[#34187] Re: Complex組み込み — Tadayoshi Funaba <tadf@...> 2008/03/31

> そうです。Complex が難しい、という話を書いておくと、

[#34193] Re: Complex組み込み — Yukihiro Matsumoto <matz@...> 2008/03/31

まつもと ゆきひろです

[#34203] Re: Complex組み込み — Tadayoshi Funaba <tadf@...> 2008/04/01

> |僕としては、/ 演算子の振舞いについて前向きに検討してほしいです。

[#34215] Re: Complex組み込み — Yukihiro Matsumoto <matz@...> 2008/04/02

まつもと ゆきひろです

[#34166] Re: Complex組み込み — Tadayoshi Funaba <tadf@...> 2008/03/28

> となるようですが、別の実装として、

[ruby-dev:34114] Is 'Class.new(Class)' valid?

From: rucila <rucila@...>
Date: 2008-03-23 14:48:22 UTC
List: ruby-dev #34114
nagachika と申します。

RHGの逆襲に向けて class.c を読んでいて気がついたのですが
、
class ... end 構文でクラスを定義する場合は superclass に
Class を指定すると例外が発生しますが、Class.new メソッド
で
クラスを生成する時には superclass(Class.new の引数)に
Class を渡しても例外になりません。
これは意図的なものでしょうか?

このようにしてできた「Classのサブクラス」やそれを
継承したクラスはインスタンスが生成できないので
普通のクラスとしては使えないと思うのですが、
何か特別な用途があるんでしょうか?

実行結果
irb-trunk --simple-prompt
>> class Hoge < Class
>> end
TypeError: can't make subclass of Class
        from (irb):1
        from irb-trunk:12:in `<main>'
>> Hoge = Class.new(Class)
=> Hoge
>> Hoge.superclass
=> Class
>> Hoge.new
TypeError: wrong instance allocation
        from (irb):5:in `new'
        from (irb):5
        from irb-trunk:12:in `<main>'

意図的でないならこんな感じにすればいいのではないかと。

Index: class.c
===================================================================
--- class.c     (リビジョン 15828)
+++ class.c     (作業コピー)
@@ -53,6 +53,9 @@
     if (RBASIC(super)->flags & FL_SINGLETON) {
        rb_raise(rb_eTypeError, "can't make subclass of
singleton class");
     }
+    if (super == rb_cClass) {
+       rb_raise(rb_eTypeError, "can't make subclass of
Class");
+    }
 }
 
 VALUE
@@ -60,9 +63,6 @@
 {
     Check_Type(super, T_CLASS);
     rb_check_inheritable(super);
-    if (super == rb_cClass) {
-       rb_raise(rb_eTypeError, "can't make subclass of
Class");
-    }
     return rb_class_boot(super);
 }


--------------------------------------
Easy + Joy + Powerful = Yahoo! Bookmarks x Toolbar
http://pr.mail.yahoo.co.jp/toolbar/

In This Thread

Prev Next