plist

plist 表示方法: '(key1 val1 key2 val2) , key 不能重复,长度为偶数。key 类型只能为 lisp symbol,value 可为任意类型;

取值(eq 比较键值)
(plist-get ’(x 1 y 2) ’x)
取值(equal 比较键值)
(lax-plist-get ’(“foo” 1 “bar” 2) “bar”)
修改值(eq 比较),返回新 plist
(plist-put ’(x 1 y 2) ’x 3)
修改值(equal 比较)
(let ((p ’(“a” 1 “b” 2))) (setq p (lax-plist-put p “b” 200)))
获取查到的键到尾部列表
(plist-member ’(x 1 y 2 z 3) ’y)