【Ruby3.x】UnboundMethod::arity()メソッドの使い方
arityメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
arityメソッドは、UnboundMethodオブジェクトが表すメソッドが受け取る引数の数を返します。これは、メソッドの引数構成を事前に確認するために使用されます。
戻り値は整数値です。正の整数値は、メソッドの必須引数の数を直接示します。例えば、def example(a, b)のようなメソッドの場合、arityは2を返します。
負の整数値が返される場合は、そのメソッドがオプション引数や可変長引数(*args)を持つことを意味します。具体的には、-n-1という形式で返され、n個の必須引数と、オプションまたは可変長引数が存在することを示します。例えば、必須引数が1つと可変長引数を持つdef method(a, *args)では、arityは-2(-1-1)を返します。
このarityメソッドを利用することで、メソッドの引数構造を動的に把握し、適切な数の引数を渡すための検証が可能です。これにより、引数不一致エラーの防止や、堅牢なコードの実現に役立ちます。
構文(syntax)
1class MyClass 2 def my_method(arg1, arg2) 3 end 4end 5 6unbound_method_object = MyClass.instance_method(:my_method) 7unbound_method_object.arity
引数(parameters)
引数なし
引数はありません
戻り値(return)
Integer
このメソッドは、対象となるメソッドが受け入れる引数の数を返します。正の値はその数、負の値は可変長引数(*args)であることを示し、その絶対値は必須引数の数と可変長引数を合わせた総数になります。