由于結(jié)構(gòu)是不可變的,所以可以將另一個(gè)鍵添加到結(jié)構(gòu)的唯一方式是通過創(chuàng)建新結(jié)構(gòu)。 在以下程序中顯示了如何實(shí)現(xiàn)這一點(diǎn)的示例。
(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)
在上面的例子中,我們將一個(gè)名為EmployeeRank的新關(guān)鍵字關(guān)聯(lián)到結(jié)構(gòu),但是通過創(chuàng)建一個(gè)新的結(jié)構(gòu)對(duì)象。
以上示例將輸出以下結(jié)果:
{:EmployeeName John, :Employeeid 1, :EmployeeRank A}
更多建議: