[#2577] how to check if ruby method is defined — Kikutani Makoto <kikutani@...>

きくたにです。

13 messages 1998/05/07

[#2608] experimental release ruby 1.1b9_19 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

30 messages 1998/05/13
[#2610] Re: experimental release ruby 1.1b9_19 — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...> 1998/05/13

藤本です、こんにちは。

[#2614] Re: experimental release ruby 1.1b9_19 — matz@... (Yukihiro Matsumoto) 1998/05/14

まつもと ゆきひろです

[#2622] Re: experimental release ruby 1.1b9_19 — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...> 1998/05/14

藤本です、こんにちは。

[#2623] Re: experimental release ruby 1.1b9_19 — matz@... (Yukihiro Matsumoto) 1998/05/14

まつもと ゆきひろです

[#2664] [BUG] b = proc{binding}.call — keiju@... (Keiju ISHITSUKA)

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

13 messages 1998/05/18
[#2665] Re: [BUG] b = proc{binding}.call — matz@... (Yukihiro Matsumoto) 1998/05/18

まつもと ゆきひろです

[#2721] convert Perl's t/regexp.t to ruby — Inaba Hiroto <inaba@...>

ruby-list の regexp difference with perl のスレッドを読んでいて思いつ

22 messages 1998/05/20
[#2727] Re: convert Perl's t/regexp.t to ruby — matz@... (Yukihiro Matsumoto) 1998/05/22

まつもと ゆきひろです

[#2728] Re: convert Perl's t/regexp.t to ruby — Inaba Hiroto <inaba@...> 1998/05/22

t/regexp.tではなくてt/op/regexp.tでした。

[#2740] Re: convert Perl's t/regexp.t to ruby — matz@... (Yukihiro Matsumoto) 1998/05/25

まつもと ゆきひろです

[#2747] Re: convert Perl's t/regexp.t to ruby — Inaba Hiroto <inaba@...> 1998/05/25

From: matz@netlab.co.jp (Yukihiro Matsumoto)

[#2769] Re: convert Perl's t/regexp.t to ruby — Inaba Hiroto <inaba@...> 1998/05/27

From: Inaba Hiroto <inaba@st.rim.or.jp>

[#2773] Re: convert Perl's t/regexp.t to ruby — matz@... (Yukihiro Matsumoto) 1998/05/28

まつもと ゆきひろです

[#2778] Re: convert Perl's t/regexp.t to ruby — Inaba Hiroto <inaba@...> 1998/05/28

From: matz@netlab.co.jp (Yukihiro Matsumoto)

[#2785] Re: convert Perl's t/regexp.t to ruby — matz@... (Yukihiro Matsumoto) 1998/05/29

まつもと ゆきひろです

[#2790] Re: convert Perl's t/regexp.t to ruby — Inaba Hiroto <inaba@...> 1998/05/30

From: matz@netlab.co.jp (Yukihiro Matsumoto)

[#2795] Re: convert Perl's t/regexp.t to ruby — matz@... (Yukihiro Matsumoto) 1998/06/01

まつもと ゆきひろです

[ruby-dev:2561] Re: experimental release ruby 1.1b9_16

From: matz@... (Yukihiro Matsumoto)
Date: 1998-05-01 09:42:29 UTC
List: ruby-dev #2561
まつもと ゆきひろです

In message "[ruby-dev:2560] Re: experimental release ruby 1.1b9_16"
    on 98/05/01, 石塚圭樹 <keiju@rational.com> writes:

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

|何で任意のクラスが例外にできるようにしたいかが良く分かりませんでしたが, 
|例外に文字の情報以外を持たせたいのが動機だと思うんです. 例外を一箇所に
|まとめたいなら, Stringのサブクラスになっているのをやめればそれで済むと
|思います.

ま,それは否定しません.

|結局過去との互換性のために, モジュールを導入しているなって感じてしまう
|わけです. 

ええ,その通りです.互換性はそれなりに大切だと思うからです.
# とかいって互換性の無い変更を結構してる気もするけど.

|それに, 新しい例外だと, 2つの方針が対立していることになるので:
|
|1. Exceptionのサブクラスとして例外を定義する.
|2. ThrowableやExceptionalをincludeする. 
|
|例外を定義する側もどっちにするか悩んでしまいますよね...

昨夜また仕様を考え直しましたが,その件は後で.

で,話を元に戻すと,この仕様はどうなんでしょうね.対立してい
ると考えるとも出来ますが,

 任意のオブジェクトに出来るが,組込みの例外はたまたま集めてある

と考えれば別に問題もないようにも思います.

さて,実装としては任意のオブジェクトを例外にできるようになり
ました.現在(私の手元にあるもの)は組込みの例外が文字列のサブ
クラスであることにはほとんど依存していませんので,組込み例外
を(実装の構造的にも)オブジェクトのサブクラスにすることにはそ
れほど問題はありません.

後はクラス階層をどうするか,ということを詰めるべきだと思うん
です.つまり,どのような例外階層を設計すべきか,というのが腕
の見せどころになるんじゃないでしょうか.

ちなみに私が昨夜設計しなおした例外階層は

 String
   Exception
     Interrupt
     SystemExit
     StandardError(includes DefaultRescue)
       IOError
         EOFError
       ...
       SystemCallError
         Errno::ENOENT
         ...

とかいう感じで,簡単にいうと

  GlobalExitをExceptionに
  ExceptionをStandardErrorに

改名した上でrescueのデフォルトをDefaultRescueにした,という
ものです.Throwableはなくなり,本当に任意のオブジェクトを例
外にできるようにしました.意味があるかはともかく.

# ああ,非互換だ….

これはまだ組込み例外は文字列のサブクラスであるという設計になっ
てますが,文字列から独立した階層というのも十分考えられると思
います.こっちの方が継承だけでまとめられてきれいかもね.

石塚さんは(あるいは他の方は)例外の階層をどのようにするのが良
いと思いますか?
                                まつもと ゆきひろ /:|)

In This Thread