欢迎!请参阅关于页面了解有关此信息的一些更多信息。
min-key 和 max-key 的行为似乎不正确(遵循 Java 遵循的 IEEE 浮点数约定)
(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
补丁应该有测试...
最新的补丁为 min-key 和 max-key 添加了带 NaN 结果和不带 NaN 结果的测试,因为之前没有这些测试。
这与CLJ-99重叠,该issue已经预先筛选。我想要以那个ticket为基础对这次补丁需要的任何改动进行操作。要构建这个,先应用CLJ-99补丁,然后分支,进行更改,然后再创建相对于clj-99分支的补丁。对此造成的麻烦感到抱歉 - 通常在这个冲突级别,补丁不会相互冲突。
最近的补丁以相同的方式修复了min和max key,但基于CLJ-99,对每个项只评估一次函数。