分享您的想法,参加2024 Clojure状态调查!

欢迎!请参阅关于页面了解此处的更多信息。

0
ClojureScript

普通函数(只是JavaScript函数)没有这种限制。对于IFn实现,我们不应该允许超过21个参数的arity,并将第21个arity转换为一个可变参数签名。

3 个答案

0

评论者:justiniac

{quote}我们应该将第21个arity转换为一个可变参数签名{quote}
除非理解有误,无法做到这一点。在协议中不允许可变参数签名。

{quote}我们不应该允许超过21个参数{quote}
是否希望生成分析器警告?

0

评论者:darwin

我相信我在使用core.async时遇到了这个问题(链接:1)。

如果现在无法实现,我恳请至少生成编译器警告。这个问题表现为无限递归循环,最终变为神秘的栈溢出。

(链接:1) https://github.com/binaryage/dirac/commit/cce56470975a287c0164e6f79cd525d6ed27a543

0
...