phpだとget_func_args
とかで引数の一覧取れたのにと思ったんですが、rubyでは無いのかなと。
一応以下の様な感じで取得できました。
def hoge(a,b:)
args = self.method(__callee__).parameters.map do |arg_type,arg|
[ arg, eval(arg.to_s) ]
end.to_h
p args
#=> {:a=>1, :b=>2}
end
hoge(1, b: 2)
rubyだしもっと良い書き方ありそうですよね。
何かあればコメントください。