[Ruby] desc_method
最初のバージョンが公開されました(ruby-talk:344118)。
irb や デバッガの実行中から ri の実行結果の情報を表示してくれる便利なライブラリ。
都合により、ruby 1.9.1 で試してみました。
インストールには、ruby2ruby 1.1.9 が必要です。 ruby2ruby は、1.2.4 がリリースされていますが、 desc_method は、ruby2ruby 1.1.9 がインストールされていないとインストールできません。
$ sudo gem install ruby2ruby -v 1.1.9
$ sudo gem install rogerdpack-desc_method --source http://gems.github.com
irb から試してみました。
$ irb
irb(main):001:0> require 'desc_method'
irb(main):002:0> String.desc_method :size
#<UnboundMethod: String#size> arity: 0
ri for String#size
------------------------------------------------------------ String#size
str.length => integer
str.size => integer
From Ruby 1.9.1
------------------------------------------------------------------------
Returns the character length of _str_.
(end ri)
appears to be a c method
irb(main):003:0> require 'date'
irb(main):004:0> Date.desc_method :parse
#<Method: Date.parse> arity: -1
ri for Date.parse
------------------------------------------------------------ Date::parse
Date::parse(str='-4712-01-01', comp=true, sg=ITALY)
From Ruby 1.9.1
------------------------------------------------------------------------
Create a new Date object by parsing from a String, without
specifying the format.
...(中略)
(end ri)
...(中略)
at /usr/local/ruby191/lib/ruby/1.9.1/date.rb:1064
def self.parse(str='-4712-01-01', comp=true, sg=ITALY)
elem = _parse(str, comp)
new_by_frags(elem, sg)
end
=> #<Method: Date.parse>
require 'desc_method' で desc_method というのが追加されて、irb の中から
String.desc_method :size
と実行すれば、ri String#size を実行したのと同じ結果が得られたり、
Ruby で書かれたライブラリの場合は、指定したメソッドが定義されているファイルとメソッドの中身を表示してくれます。
これはなかなか便利そう。
| 固定リンク
この記事へのコメントは終了しました。
コメント