如何将 elisp 列表放入 elisp 哈希

How to put a elisp list inside an elisp hash

我有这段可用的代码

(setq block_id nil)
(setq myHash (make-hash-table :test 'equal))
(puthash "5" "a" myHash)
(message (gethash "5" myHash))

它将一个字符串插入到哈希中。并按预期打印出 "a" 去做。 但是我如何插入一个列表到 哈希?我试过了

(setq block_id nil)
(setq myHash (make-hash-table :test 'equal))
(puthash "5" ("list foo" "baa" "baz") myHash)
(message (gethash "5" myHash))

但是我的 emacs elisp repl 得到了一个 nil。

您有几个错误。您没有引用列表,所以它试图将字符串 "list foo" 作为函数调用。然后你用错误类型的参数调用 message

(setq myHash (make-hash-table :test 'equal))
(puthash "5" '("list foo" "baa" "baz") myHash)
(message "%S" (gethash "5" myHash))