clojure中的map析构

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])

你可能感兴趣的:(clojure)