如果我用错误的参数数量调用一个方法,我会收到一个简洁、描述性的错误消息
(^[] String/toUpperCase "foo" 2) 语法错误... 在类java.lang.String中调用方法toUpperCase期望0个参数,但接收到1
如果我用错误的参数数量调用构造函数,我会收到一个非常相似的消息
(^[String] String/new "foo" 2) 语法错误... 在类java.lang.String中调用方法java.lang.String期望1个参数,但接收到2
此消息将类名视为方法,这感觉就像你可能会从构造函数中得到的东西。
我注意到,如果我的构造函数的参数标签不正确,消息的措辞略有不同(应为"Expected to find 1 matching signature for constructor",而不是"for method"),因此我只是想在消息还比较新鲜的时候提出这个问题:arity消息的措辞应否提及'constructor'或'String/new'或类似的术语?