From: "sawa (Tsuyoshi Sawada)" Date: 2013-10-16T11:34:05+09:00 Subject: [ruby-core:57894] [ruby-trunk - Feature #9025] Clarify the error message when calling a method with the wrong number of arguments Issue #9025 has been updated by sawa (Tsuyoshi Sawada). "instead of" is even worse than "for". It is ambiguous: "1 argument was given instead of the expected 0" or "1 argument should be given instead of 0 that was given". "for" at least does not have that ambiguity. ---------------------------------------- Feature #9025: Clarify the error message when calling a method with the wrong number of arguments https://bugs.ruby-lang.org/issues/9025#change-42489 Author: Nerian (Gonzalo Rodr��guez) Status: Open Priority: Normal Assignee: Category: Target version: Currently when calling a method with the wrong number of arguments we get a confusing error message: ArgumentError: wrong number of arguments (1 for 0) That means that the method was meant to accept 0 arguments, but 1 was provided instead. This error message is confusing, and a large number of people had to search for its meaning. For example [1] has 11000 views. I propose that we change the error message to something whose meaning is obvious. Examples: * ArgumentError: wrong number of arguments (expected: 1, provided: 0) * ArgumentError: wrong number of arguments (1 instead of 0) This ticket originated from this pull request: https://github.com/ruby/ruby/pull/367 [1] http://stackoverflow.com/questions/7537450/what-does-wrong-number-of-arguments-1-for-0-mean-in-ruby -- http://bugs.ruby-lang.org/