(defun map-plist (fun plist)
(loop :for (key value) on plist by #'cddr
:collect (funcall fun key value))
Then you can write:
(map-plist (lambda (k v) (cons k (1+ v))) '(one 1 two 2 three 3))
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (2 / 14) |
Uptime: | 54:00:40 |
Calls: | 10,397 |
Calls today: | 5 |
Files: | 14,067 |
Messages: | 6,417,407 |
Posted today: | 1 |