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

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

0
Clojure
从 1.8 版本开始,我们有了 {{map-entry?}} 布尔函数,但没有相应的构造函数。实现可以像这样简单


(defn map-entry
  "创建一个新的映射条目,键为 k,值为 v。

  另请参阅:map-entry?, key, val"
  [k v]
  (clojure.lang.MapEntry/create k v))

5 个答案

0

评论者:mfikes

可能这种构造函数的存在对使用它的映射条目用户来说是重要的。

`
用户=> (let [me (first (sorted-map :a 1))]

     [(map-entry? me) (type me)])

[true clojure.lang.PersistentTreeMap$BlackVal]
`

0

评论者:gshayban

我不认为这有什么意义。拥有一个映射条目构造函数能实现什么?

0

评论者:alexmiller

Mike: 不,我认为这不应该很重要

Ghadi: 野外有一些代码调用了 MapEntry/create,因为在这种情况下它更快 - 这肯定会更好。

0

评论者:jcr

加迪:另一个考虑因素是clj\cljs的可移植性。说到这个...

亚历克斯:我应该也为clojurescript创建一个工单吗?看起来函数的主体应该是

(cljs.core/MapEntry. k v nil)

0
...