我的Plist如修改plist裏面的列表?
'((:atom Toddler :visited nil :on-clauses (0 1))
(:atom Child :visited nil :on-clauses 1))
我應如何改變在給定的:atom
:onclauses
財產清單?我想更新此資源,例如使第二plist (:atom Child :visited nil :on-clauses (1 2))
(只增加新的值,從不刪除舊的)。
我能做的最好是使用
(remove-if-not #'(lambda(record)
(equal (getf record :atom) atom))
*ATOMS*)
獲取初始值,更新它,然後用其模擬得到沒有該值的列表從頭開始創建一個新的列表,並追加兩者一起,但是這可能是非常inneficient(我知道過早optimatization是不好的,但我學習LISP,想知道如何做正確的事!)
請注意,您不應修改文字引用數據。效果不明確。請使用非破壞性操作或複製之前的樹。 –
你有一些我可以閱讀關於@RainerJoswig的參考嗎?我相當新的LISP .. –