[ruby-list:50275] 質問:定義済みメソッドの引数デフォルト値を取得する方法
From:
Dice <tetradice@...>
Date:
2016-02-20 02:15:48 UTC
List:
ruby-list #50275
Diceと申します。
1点、Rubyについて技術的に分からないことがありますため、質問させてください。
定義済みのメソッドの引数情報を取得したい場合には
Method#parameters メソッドを使用することになると思います。
このとき、引数の種類や名前は取得できますが、デフォルト値は取得できないと思います。
m = Class.new{define_method(:m){|x, y=42, *other, &b|}}.instance_method(:m)
m.parameters #=> [[:req, :x], [:opt, :y], [:rest, :other], [:block, :b]]
定義済みメソッドの、引数のデフォルト値(上記の「42」)を取得したいのですが
(1) pure rubyな機能か、もしくは既存のgemを使用して、これを実現する方法はありますでしょうか?
(2) 1が存在しない場合、拡張ライブラリを自作すれば、上記のことはおおむね可能になりそうでしょうか?
もし方法がありましたら、教えていただけますと幸いです。
--
Dice
tetradice@gmail.com