【Ruby3.x】UnboundMethod::parameters()メソッドの使い方
parametersメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
parametersメソッドはUnboundMethodオブジェクトが表すメソッドの引数に関する情報を取得するメソッドです。UnboundMethodは、特定のオブジェクトにバインドされる前の、クラスやモジュールに定義されたメソッドそのものを指します。
このメソッドは、引数の種類と引数名を要素とする二次元配列を返します。返される配列の各内部配列は、最初の要素が引数の種類を示すシンボル、二番目の要素が引数名を示すシンボルで構成されます。
引数の種類には、:req(必須引数)、:opt(オプション引数)、:rest(可変長引数 *args)などがあり、:keyreq(必須キーワード引数)や:block(ブロック引数 &block)なども区別されます。Ruby 2.7以降では、引数転送((...))を表す:fwdも含まれます。
この機能は、プログラム実行中にメソッドの引数構造を動的に解析する際に非常に有用です。ライブラリやフレームワークが、ユーザー定義メソッドの呼び出し方を検証したり、適切な引数を渡したりする場面で利用されます。また、リフレクションを用いたメタプログラミングやAPIドキュメントの自動生成など、コードの柔軟性や保守性を高めるために活用されます。
構文(syntax)
1String.instance_method(:length).parameters
引数(parameters)
引数なし
引数はありません
戻り値(return)
Array
UnboundMethod#parametersメソッドは、メソッドが受け取る引数に関する情報を配列として返します。この配列には、引数の種類(必須、オプション、キーワードなど)と名前が含まれます。