findmethod.rb

version 0.4 - Sep.20.2000

目的

メソッドを探し出します。

使い方

./findmethod.rb print
のように使います。
./findmethod -i socket open
というようにして require 'socket' することもできます。
./findmethod -x 'open.*'
-xオプションをつけることでメソッド名に正規表現が使えます。
./findmethod 'open.*'
メソッド名に英数字以外の文字を含む場合には-xは省略できます。
正規表現パターンとして正しくない場合には正規表現の機能はオフになります。

例) *print
 正しくは .*print

説明

インスタンスメソッドとクラスメソッドは、
+- Kernel
   .print
  +- Object
    +- Enumerable
      +- IO
         #print
のように.と#で区別できます。
デバッグに使えます。

このバージョンから表示がツリー表示になります。
tree2.rbが必要です。

バグ

Hash#key? のように ? を含む場合、最後の文字についてのみ通常の文字として扱います。
(この場合のみ自動的には正規表現モードになりません。)
Ruby 1.6.0で動きます。

$ ./findmethod.rb key?
+- Kernel
  +- Object
    +- Enumerable
      +- Hash
         #key?
    +- Thread
       #key?
以下の例は key\? と書かなければなりません。
$ ./findmethod.rb -x key?
+- FileTest
   .socket?
+- Kernel
  +- Object
    +- Enumerable
      +- Hash
         #each_key
         #has_key?
         #key?
         #keys
      +- IO
        +- File
           .socket?
    +- Thread
       #key?
       #wakeup

ToDo

メソッドの説明を出したい。
RDがよいのかな?

インストール済みの.rb, .soについての情報を集めたい。

ダウンロード

download

back