2024 年 Clojure 状态调查! 中分享您的想法。

欢迎!请查阅 关于 页面获取有关此工作的更多信息。

+1
错误
重标记

如果我用错误的参数数量调用一个方法,我会收到一个简洁、描述性的错误消息
(^[] 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'或类似的术语?

1 答案

+1
 
最佳回答

是的,这缺少了特定构造函数的措辞,我将进行检查,谢谢。

是的,这只是一个简单的错误,我们将在未来的alpha版本中修复它。记录在 https://clojure.atlassian.net/browse/CLJ-2835
...