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

欢迎!请参阅关于页面,了解更多关于如何操作的信息。

0
Java Interop

目前,clojure.core中的“get”、“get-in”和相关的函数在Clojure向量、映射和Java数组上工作,但不能在java.util.List实例上工作。

(def al (java.util.Arrays/asList (object-array (link: 1 2 3 4))))
(get al 2)
=> nil

这使得在处理类似于嵌套Clojure数据结构的Java对象嵌套结构时,显得不方便。

这与支持任意java.util.List实例的其他clojure.core函数(例如“nth”和“count”)不一致。

通过稍微修改RT.java,可以使核心函数能够操作任意java.util.List实例。这种变化似乎没有显着缺点(它不在快速路径上,因此不会影响常规ILookup或Map检查)。

2 个答案

0

评论者:mikera

CLJ-1624补丁

0
引用:https://clojure.atlassian.net/browse/CLJ-1624(由mikera报告)
...