Ruby で Method オブジェクトから引数の情報を得る
Ruby
Published: 2019-07-24

やったこと

Ruby で const_get を使ってみます。

確認環境

$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]

調査

test.rb

class Sample
  def hogehoge(a, b = 1, c:, d: 222)
  end
end

p Sample.new.method(:hogehoge)
p Sample.new.method(:hogehoge).parameters

実行結果

$ ruby test.rb
#<Method: Sample#hogehoge>
[[:req, :a], [:opt, :b], [:keyreq, :c], [:key, :d]]

引数の情報を取得することができました。

参考