ArgumentError: wrong number of arguments
Rubyでメソッドに渡す引数の数が間違っている場合に発生するエラー
概要
Rubyでメソッドに渡す引数の数が定義と一致しない場合にArgumentErrorが発生します。
エラーメッセージ
ArgumentError: wrong number of arguments (given 2, expected 1)
原因
- 引数の数が多すぎる: メソッド定義より多くの引数を渡している
- 引数の数が少なすぎる: 必須引数が不足している
- キーワード引数の形式が間違っている: ハッシュとキーワード引数の混同
解決策
1. メソッド定義を確認
| |
2. デフォルト引数を使用
| |
3. 可変長引数を使用
| |
4. キーワード引数を使用
| |
よくある間違い
- Ruby 3.0以降でHashをキーワード引数として渡す(明示的に展開が必要)
- ブロックを引数としてカウントしてしまう
- splat演算子の使い方を間違える
Ruby の他のエラー
この記事は役に立ちましたか?