From: duerst@... Date: 2015-10-22T21:51:39+00:00 Subject: [ruby-core:71167] [Ruby trunk - Feature #9025] Clarify the error message when calling a method with the wrong number of arguments Issue #9025 has been updated by Martin D��rst. Matthew Kerwin wrote: > duerst (Martin D��rst) wrote: > > Ruby is all about making it easier for the programmer. Even the smallest amount of debugging is too much when it can be eliminated by tweaking the error message. > > I think that statement accidentally reached a point of absurdity by using a very precise definition of "debugging" that I don't share. It might have been clearer for me to write "Even the smallest reduction in the amount of debugging is worth it when it can be achieved by tweaking the error message." Anyway, if it doesn't make life easier for you, that's no problem. It won't hurt you, and it will help others, even if you might not believe it. ---------------------------------------- Feature #9025: Clarify the error message when calling a method with the wrong number of arguments https://bugs.ruby-lang.org/issues/9025#change-54541 * Author: Gonzalo Rodr��guez * Status: Open * Priority: Normal * Assignee: ---------------------------------------- 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 -- https://bugs.ruby-lang.org/