欢迎!请查看 关于 页面以了解该功能的更多信息。
似乎 min-key 和 max-key 的行为不正确(遵循遵循 IEEE 浮点数约定的 Java)
(apply max-key last [[:a 10000] [:b (/ 0. 0)] [:c 0]]) [:c 0]
不清楚这将如何传播,但绝对不是静默的。选项
如果这像 min/max 一样进行修补(http://dev.clojure.org/jira/browse/CLJ-868),则可能结果是选项 1。
评论由: nicholasantonov 制作
这实现了类似(链接: http://dev.clojure.org/jira/browse/CLJ-868 文本: CLJ 868)的传染性 NaN 的第一种解决方案。
评论由: alexmiller 制作
补丁应该有测试...
这个最新的补丁添加了对带NaN和不带NaN结果的min-key和max-key的测试,因为之前没有这些测试。
这与CLJ-99重叠,CLJ-99已经过预筛选。我希望把这个补丁所需的所有更改都基于那个主题。要构建这个,先应用CLJ-99补丁,然后分支,进行更改,然后相对于clj-99分支创建补丁。很抱歉,这很麻烦 - 通常补丁不会在这个冲突级别上相互冲突。
最新的补丁以相同的方式修复了min和max key,但基于CLJ-99,每个项目只评估一次函数。