История изменений
Исправление monk, (текущая версия) :
с произвольной вложенностью и типами.
В лиспе так тоже можно. В стандартной библиотеке так красиво не будет:
(defvar *data* (make-hash-table))
(let ((inner (make-hash-table))
(code200 (make-hash-table)))
(setf (gethash "code" code200) 200)
(setf (gethash "message" code200) "ok")
(setf (gethash 123 inner) val
(gethash "executed" inner) t
(gethash "info" inner) code200)
(setf (gethash 0 *data*) inner)
(setf (gethash 1 *data*) "test"))
Если же использовать крохотную библиотеку cl-hash-util, то
(defvar *data*
(hash 0 (hash (123 val)
("executed" #t)
("info" (hash ("code" 200) ("message" "ok"))))
1 "test"))
Исходная версия monk, :
с произвольной вложенностью и типами.
В лиспе так тоже можно. В стандартной библиотеке так красиво не будет:
(defvar *data* (make-hash-table))
(let ((inner (make-hash-table))
(code200 (make-hash-table)))
(setf (gethash "code" code200) 200)
(setf (gethash "message" code200) "ok")
(setf (gethash 123 inner) val
(gethash "executed" inner) t
(gethash "info" inner) code200)
(setf (gethash 0 *data*) inner)
(setf (gethash 1 *data*) "test"))
Если же использовать крохотную библиотеку cl-hash-util, то
(defvar *data*
(hash 0 (hash (123 val)
("executed" #t)
("info" (hash ("code" 200) ("message" "ok"))))
1 "test))