まつもと ゆきひろです.

In message "[ruby-list:2148] catch-throw"
    on 97/02/17, sinara / blade.nagaokaut.ac.jp <sinara / blade.nagaokaut.ac.jp> writes:
|
|原です。
|
|catch - throw について少し質問など。
|
|【1】 catch - throw と rescue ... raise というのは、とても
|似ているけど、どう使い分けるんでしょうか。catch - throw をエ
|ラー処理に使うのはやめてくれ、とか、推奨するプログラム書法は
|あるんでしょうか。

例外でないときに例外を流用するのを避けるためのものです.です
から,エラー処理でなくて大域脱出したい時に使ってください.た
とえばlib/find.rbで使っていますね.

|【2】catch と throw の第一引数は symbol か string ということ
|ですが、単なる Integer でも構わないですよね?そもそも : という
|のは記号に対してユニークな自然数を与えることは保証されているの
|かしら。

Fixnumなら構わないでしょうね.でも,見栄えが悪いのでシンボル
を使うのがお勧めです.
# でも,定数にいれておけば良いのか.

ちなみにシンボルが識別子(演算子を含む)に対して一意に決まるこ
とは保証されています.

|【3】マニュアルの「組み込み関数」の catch の例は、第一引数
|が無くて動かないと思います。

あらら.修正しておきます.

|【4】Thread#raise ができるのなら、Thread#throw もできて欲し
|いと思う人も出てくるのではないかと思いますが、その辺いかがで
|しょう?

そうですねえ.でも,「これがないとこういうことがどうしても書
けない」という話になるまで実装しません.Lazyなので.^^;;;

                                まつもと ゆきひろ /:|)