能够使用(def my-hashmap {:one 1})
访问(:one my-hashmap)
的密钥非常方便。有时我的哈希映射具有字符串值。
我希望能够使用(def my-hashmap {"one" 1})
等语法访问("one" my-hashmap)
。显然,我不能。我的选项是使用(get my-hashmap "one")
或者转换哈希映射,使其具有键符号。我不愿意,因为我将该对象传递给其他可能期望它采用原始格式的函数。
查找字符串键的最短方法是什么? get
是唯一的方式还是有一些魔力?
答案 0 :(得分:4)
map
可以用作函数
(my-hashmap "one")
答案 1 :(得分:1)
如果您已将地图作为函数参数或let
- 绑定变量传递,您还可以使用:strs
关键字对字符串键进行地图解构:
(let [{:strs [a]} {"a" 1, "b" 2}]
a)
; => 1