(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: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 70 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 01:19:18 |
| Calls: | 949 |
| Calls today: | 1 |
| Files: | 1,325 |
| Messages: | 280,983 |