LINUX.ORG.RU

История изменений

Исправление 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))