gpt4 book ai didi

clojure - map 重组

转载 作者:行者123 更新时间:2023-12-04 10:28:20 29 4
gpt4 key购买 nike

在 clojure 中,我可以像这样解构 map :

(let [{:keys [key1 key2]} {:key1 1 :key2 2}]
...)

这类似于 CoffeeScript 的方法:
{key1, key2} = {key1: 1, key2: 2}

CoffeeScript 也可以这样做:
a = 1
b = 2
obj = {a, b} // just like writing {a: a, b: b}

Clojure 中有这样的快捷方式吗?

最佳答案

它没有提供,但可以用一个相当简单的宏来实现:

(defmacro rmap [& ks]
`(让 [keys#(引用 ~ks)
键#(映射关键字键#)
vals#(列表~@ks)]
(zipmap 键# vals#)))

用户=>(定义 x 1)
#'用户/x
用户=>(定义y 2)
#'用户/年
用户=>(定义z 3)
#'用户/z
用户=> (rmap x y z)
{:z 3, :y 2, :x 1}

关于clojure - map 重组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8999794/

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