(defun hashtable-to-array (hashtable)
"Convert a hash table to a 2d array.
Keys are stored in the column 0, and values in the column 1"
(let ((array (make-array (list (hash-table-count hashtable) 2)))
(i 0))
(maphash (lambda (k v)
(setf (aref array i 0) k
(aref array i 1) v)
(incf i))
hashtable)
array))
C/USER[35]> (HASHTABLE-TO-ARRAY #S(HASH-TABLE :test eql (one . 1) (two . 2) (thr
ee . 3)))
#2A((THREE 3) (TWO 2) (ONE 1))
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 428 |
Nodes: | 16 (2 / 14) |
Uptime: | 108:40:20 |
Calls: | 9,053 |
Files: | 13,395 |
Messages: | 6,015,811 |