Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Method::arity()メソッドの使い方

arityメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

arityメソッドは、RubyのMethodオブジェクト(特定のメソッド自体を表現するオブジェクト)に対して呼び出され、そのメソッドが受け付ける引数の数を数値として取得するために実行されるメソッドです。

このメソッドの戻り値は整数で、その数値によって引数の受け取り方が分かります。正の数が返された場合、それはそのメソッドが必ず受け取らなければならない「必須引数」の数を表します。この際、デフォルト値が設定されている引数は必須引数には含まれません。例えば、def example_method(a, b=1)というメソッドでは、aが必須引数なので1が返されます。

一方、負の数が返された場合、そのメソッドが必須引数の他に任意の数の引数(いわゆる可変長引数*argsなど)を受け取れることを示します。この負の数は、-(必須引数の数 + 1)という形式で計算されます。例えば、def another_method(c, *args)というメソッドでは、cが1つの必須引数なので-2が返されます。この機能により、プログラムが実行時にメソッドの引数に関する情報を動的に調べ、より柔軟な処理を行うことが可能になります。

構文(syntax)

1def example_method(param1, param2, optional_param = nil)
2  param1 + param2
3end
4
5method_object = method(:example_method)
6method_object.arity

引数(parameters)

引数なし

引数はありません

戻り値(return)

Integer

このメソッドは、レシーバーであるMethodオブジェクトが定義する引数の数を整数で返します。引数が可変長の場合は、期待される引数の最小数と最大数を計算して返します。

関連コンテンツ