メソッド内でメソッドの引数の一覧を取得する
def hoge(a, b, c) p self.method(__callee__).parameters #=> [[:req, :a], [:req, :b], [:req, :c]] end hoge(1, 2, 3)
Kernel.#__callee__とMethod#parametersを使う。
__callee__で今いるメソッドの名前がSymbolとして取れるので、それをself.methodの引数に渡して、Method#parametersで引数の一覧を取得する、という流れ。