これに対する答えがあるかどうかはわかりませんが、誰かが知っていることを願っています。私が試しているのは、Ruby1.8.7のメソッドのオプションの引数の数を取得することです。Method#arity
を返すため、機能しません-n-1
。ここで、n
はメソッドの必須引数の数です。必要なのはオプションの引数の数ですか?例えば
def foo(a,b,c=4,d=3)
# ...
end
2つのオプションの引数があることをどのように識別できますか?これはRuby1.8.7であることに注意してください
アップデート
謝罪の質問は明確ではありませんでした。メソッドを呼び出す前に、オプションの引数の数を知る必要があります。例えば
method_def = self.instance_method(:foo)
# check for number of args
# call method if it meets some kind of criteria