[#2568] experimental release 1.1b9_17 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#2577] how to check if ruby method is defined — Kikutani Makoto <kikutani@...>
きくたにです。
立石@JAISTです。
まつもと ゆきひろです
きくたにです。
[#2580] File::Separator — WATANABE Tetsuya <tetsu@...>
連休中にいくつかスクリプトを書いていて思ったのですが。
[#2602] experimental release 1.1b9_18 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#2608] experimental release ruby 1.1b9_19 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
藤本です、こんにちは。
まつもと ゆきひろです
藤本です、こんにちは。
まつもと ゆきひろです
藤本です、こんにちは。
まつもと ゆきひろです
わたなべです.
わたなべです.
まつもと ゆきひろです
[#2632] RE: English uguide (Re: experimental release ruby 1.1b9_19) — 助田 雅紀 <masaki.suketa@...>
助田です。
[#2657] uguide07.html — gotoken@... (GOTO Kentaro)
ごとけんです
[#2664] [BUG] b = proc{binding}.call — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
[#2681] [BUG] eval str, b, fn, ln — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
[#2698] experimental release 1.1b9_22 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#2706] [BUG??] a +"::" — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
[#2708] Re: experimental release 1.1b9_21 — "MAEDA Shugo" <shugo@...>
前田です。
[#2721] convert Perl's t/regexp.t to ruby — Inaba Hiroto <inaba@...>
ruby-list の regexp difference with perl のスレッドを読んでいて思いつ
まつもと ゆきひろです
t/regexp.tではなくてt/op/regexp.tでした。
まつもと ゆきひろです
From: matz@netlab.co.jp (Yukihiro Matsumoto)
From: Inaba Hiroto <inaba@st.rim.or.jp>
まつもと ゆきひろです
From: matz@netlab.co.jp (Yukihiro Matsumoto)
まつもと ゆきひろです
From: matz@netlab.co.jp (Yukihiro Matsumoto)
まつもと ゆきひろです
From: matz@netlab.co.jp (Yukihiro Matsumoto)
まつもと ゆきひろです
ちょっとソースを読んでみました。それで気がついた事を書きます。
まつもと ゆきひろです
From: matz@netlab.co.jp (Yukihiro Matsumoto)
うーーん、もうけりがついたと思ったのに...
まつもと ゆきひろです
[#2725] return value of iterator File.open and Dir.open — Inaba Hiroto <inaba@...>
[ruby-list:8003] Re: Dir.open orderでFile.openやDir.openがイテレータと
まつもと ゆきひろです
[#2733] File::expand_path — "MAEDA Shugo" <shugo@...>
前田です。
[#2772] nil + obj — "MAEDA Shugo" <shugo@...>
前田です。
[#2779] Re: experimental release 1.1b9_21 — "MAEDA Shugo" <shugo@...>
前田です。
[ruby-dev:2561] Re: experimental release ruby 1.1b9_16
まつもと ゆきひろです
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はなくなり,本当に任意のオブジェクトを例
外にできるようにしました.意味があるかはともかく.
# ああ,非互換だ….
これはまだ組込み例外は文字列のサブクラスであるという設計になっ
てますが,文字列から独立した階層というのも十分考えられると思
います.こっちの方が継承だけでまとめられてきれいかもね.
石塚さんは(あるいは他の方は)例外の階層をどのようにするのが良
いと思いますか?
まつもと ゆきひろ /:|)