clojure中的map析构

来源:互联网 发布:java web 防止sql注入 编辑:程序博客网 时间:2024/05/16 07:28

map析构对下面集中数据结构有效:
1.clojure原生的hash-map、array-map,以及记录类型
2.任何实现了java.util.Map的对象
3.get方法所支持的任何对象。

clojure提供 :keys、:strs、:syms来指定map中key的类型。
:keys表示key的类型是关键字;
:strs表示key的类型是字符串;
:syms表示key的类型是符号。

ex:
:keys

(let[{:keys [name:name age:age location:location} chas])=====>>>>>(let [{:keys[name age location]} chas])

:strs

(def brian {"name" "Brian" "age" 31 "location" "British Columbia" })======>>>>>(let [{strs [name age location]} brain])

:syms

(def christophe {"name "Christophe" 'age 33 'location "British Columbia"})=======>>>>>>(let [{syms [name age location]} christophe])
0 0