我可以使用方便的语法在hashmap中查找字符串键吗?

时间:2014-10-10 14:27:05

标签: clojure

能够使用(def my-hashmap {:one 1})访问(:one my-hashmap)的密钥非常方便。有时我的哈希映射具有字符串值。

我希望能够使用(def my-hashmap {"one" 1})等语法访问("one" my-hashmap)。显然,我不能。我的选项是使用(get my-hashmap "one")或者转换哈希映射,使其具有键符号。我不愿意,因为我将该对象传递给其他可能期望它采用原始格式的函数。

查找字符串键的最短方法是什么? get是唯一的方式还是有一些魔力?

2 个答案:

答案 0 :(得分:4)

map可以用作函数

(my-hashmap "one")

答案 1 :(得分:1)

如果您已将地图作为函数参数或let - 绑定变量传递,您还可以使用:strs关键字对字符串键进行地图解构:

(let [{:strs [a]} {"a" 1, "b" 2}]
  a)
; => 1