parameters(lambda: nil) -> [object]Ruby 1.9.3 から[permalink][rdoc][edit]-
Proc オブジェクトの引数の情報を返します。
Proc オブジェクトが引数を取らなければ空の配列を返します。引数を取る場合は、配列の配列を返し、各配列の要素は引数の種類に対応した以下のような Symbol と、引数名を表す Symbol の 2 要素です。
:req-
必須の引数
:opt-
デフォルト値が指定されたオプショナルな引数
:rest-
* で指定された残りすべての引数
:keyreq-
必須のキーワード引数
:key-
デフォルト値が指定されたオプショナルなキーワード引数
:keyrest-
** で指定された残りのキーワード引数
:block-
& で指定されたブロック引数
- [PARAM]
lambda: - true なら lambda として扱ったとき、false なら lambda ではない Proc として扱ったときの引数の情報を返します。
lambda: の例prc = lambda{|x, y=42, *other, k_x:, k_y: 42, **k_other, &b|} prc.parameters #=> [[:req, :x], [:opt, :y], [:rest, :other], [:keyreq, :k_x], [:key, :k_y], [:keyrest, :k_other], [:block, :b]]prc = proc{|x, y=42, *other|} p prc.parameters # => [[:opt, :x], [:opt, :y], [:rest, :other]] prc = lambda{|x, y=42, *other|} p prc.parameters # => [[:req, :x], [:opt, :y], [:rest, :other]] prc = proc{|x, y=42, *other|} p prc.parameters(lambda: true) # => [[:req, :x], [:opt, :y], [:rest, :other]] prc = lambda{|x, y=42, *other|} p prc.parameters(lambda: false) # => [[:opt, :x], [:opt, :y], [:rest, :other]][SEE_ALSO] Method#parameters, UnboundMethod#parameters