[前][次][番号順一覧][スレッド一覧]

ruby-reference-manual:199

From: Minero Aoki <aamine@l...>
Date: Sat, 11 Nov 2006 09:25:47 +0900 (JST)
Subject: [ruby-reference-manual:199] Re: refe

青木です。

  In mail "[ruby-reference-manual:197] refe"
  Kazuhiro NISHIYAMA <zn@m...> wrote:

> 西山和広です。

> refeでfatalクラスが出てくるかどうか試してみたら、
> ReFeでもReFe2でも出てこなかったのですが、
> そういうものなのでしょうか?

うーん、fatal はなあ……。なんであれだけ小文字なんでしょうねえ。
わりと意図的に無視してやろうと思ってはいましたが、やっぱ出ない
のも不便だしなあ。

てことで、クラスのみを検索するオプション --class を新設しました。

  ~ % refe2 --class fatal
  class fatal < Exception

  インタプリタ内部で致命的なエラーが起こったときに発生します。
  致命的なエラーとは、例えば以下のような状態です。

    * スレッドのデッドロックが発生した
    * -x オプションや -C オプションで指定された
      ディレクトリに chdir できなかった
    * [[unknown:Rubyの起動/-i[extension]]] オプション付きで起動されたが、
      パーミッションなどの関係でファイルを変更できなかった

  通常 Ruby プログラムからは fatal オブジェクトは見えません。


> 出てくるメソッドなどの一覧も微妙に違うようです。
> 
> % ~/opt/ruby18/bin/refe --database=$HOME/tmpdir/bitclust fatal
> Logger#fatal WEBrick::Log#fatal
> % refe fatal
> Logger#fatal Logger#fatal? Logger.FATAL WEBrick::Log#fatal
> WEBrick::Log#fatal?
> % ~/opt/ruby18/bin/refe --database=$HOME/tmpdir/bitclust 'fata'
> Logger#fatal Logger#fatal? Logger::FATAL WEBrick::Log#fatal
> WEBrick::Log#fatal?

これは意図通りというか、むしろ ReFe1 がダメなのです。


> それからReFe2だとNet::SMTPのようなネストしたクラスの
> 出し方がわかりませんでした。
> 
> % ~/opt/ruby18/bin/refe --database=$HOME/tmpdir/bitclust Net::SMTP
> no such method in 35 classes: SMTP

定数しか検索してなかったのが原因です。修正しました。

  ~ % refe2 net::smtp
  require 'net/smtp'

  class Net::SMTP < Object

--
青木峰郎

--
ML: ruby-reference-manual@m...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

       197 2006-11-07 15:58 [zn@m...             ] refe                                    
->     199 2006-11-11 01:25 ┗[aamine@l...         ]