22. ArgumentError : i) 引数が異なるとき
エラー⽂が読めれば、ほぼ簡単に修正できるエラーです。
p 1024.to_s #=> "1024"
p 1024.to_s(2) #=> "10000000000"
p 1024.to_s(:delimited, locale: :fr) #=> ArgumentError
※Railsでは to_s が拡張され桁区切りを指定できますが、素のRubyは出来ません。
↓
Main.rb:3:in `to_s': wrong number of arguments (given 2, expected 0..1) (ArgumentError)
from Main.rb:3:in `<main>'
given 2, expected 0..1 は「2つの引数が与えられたけど、期待した個数は0~1個」の
意味ですね。
Rubyのエラーをちょっと整理(初級者向け) 2020/10/24 22
23. 【余談】引数の数の違うときのエラー⽂の歴史
p 1024.to_s(:delimited, locale: :fr) #=> ArgumentError
↓
Before (Ruby 〜2.2)
wrong number of arguments (2 for 0..1) (ArgumentError)
After (Ruby 2.3 〜 2.7)
wrong number of arguments (given 2, expected 0..1) (ArgumentError)
エラー⽂、だいぶわかりやすくなっている。
Rubyのエラーをちょっと整理(初級者向け) 2020/10/24 23