Clojure - 向结构添加新键



由于结构是不可变的,向结构添加其他键的唯一方法是创建新的结构。以下程序展示了如何实现这一点的一个示例。

示例

(ns clojure.examples.example
   (:gen-class))
(defn Example []
   (defstruct Employee :EmployeeName :Employeeid)
   (def emp (struct-map Employee :EmployeeName "John" :Employeeid 1))
   (def newemp (assoc emp :EmployeeRank "A"))
   (println newemp))
(Example)

在上述示例中,我们将一个名为 EmployeeRank 的新键与结构关联,但通过创建一个新的结构对象。

输出

以上程序产生以下输出。

{:EmployeeName John, :Employeeid 1, :EmployeeRank A}
clojure_structmaps.htm
广告