gpt4 book ai didi

clojure - 有键和值的向量时创建 map

转载 作者:行者123 更新时间:2023-12-04 05:03:57 25 4
gpt4 key购买 nike

我敢肯定这很容易,但是我怀疑我在向偶发性Clojure迈进的路上会遇到很多小问题。也许我错过了一些事情,但在查看clojure map 页面时,我没有找到解决方案。

给定两个向量(值中的另一个键),您如何有效地(关键字!)创建从键到值的映射?

键和值如下:

(:year :month :day) (core/split "2013-02-18" #"-")

最佳答案

自然的解决方案是使用zipmap:

(zipmap [:year :month :day] (clojure.string/split "2013-02-18" #"-"))
;= {:day "18", :month "02", :year "2013"}

对于这样的小 map ,它实际上非常有效。对于较大的 map ,您希望 zipmap使用 transient ,而当前暂不使用。 JIRA中有一张票,附有我的补丁: CLJ-1005

当然,将 transient 启用的 zipmap包含在自己的代码库中,并优先于 clojure.core中的使用,非常简单。如果要压缩较大的 map ,这是一件非常重要的事情。

可以从补丁或ClojureScript核心库复制代码,后者在 zipmap中确实使用了 transient ;此处是到1844版的 ClojureScript source的链接(此特定功能可以在Clojure中使用,而无需更改)。

关于clojure - 有键和值的向量时创建 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17760652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com