我想从 person1 中提取以下代码片段中的城市字段:
(defrecord Address [city state])
(defrecord Person [firstname lastname ^Address address])
(defn make-person ([fname lname city state]
(->Person fname lname (->Address city state))))
(def person1 (make-person "Mark" "Smith" "LA" "CA"))
谢谢, R上。
答案 0 :(得分:1)
(prn (str (:state (:address person1))))
答案 1 :(得分:1)
您可以像地图一样使用defrecord。 person1记录具有以下结构:
{:address #ns.Address {:city "LA", :state "CA"},
:firstname "Mark",
:lastname "Smith"}
这就是您可以通过以下方式访问现场城市的原因:
(:city (:address person1))
==> "LA"