elisp如何直接输入hashmap? Hash的读语法怎么样?

时间:2015-06-07 02:29:18

标签: emacs elisp

我想像javascript一样直接输入哈希:

hash = {
  key1: 'value1',
  key2: 'value2',
  key3: 'value3'
}

有时为了提高可读性,

我在elisp中试过这个:

 #s(:a 1 :b 2)

但是犯了错误。

2 个答案:

答案 0 :(得分:0)

我发现我可以这样做,而且有效。

 #s(hash-table data (
   :key1   "value1"
   :key2   "value2"))

答案 1 :(得分:0)

来自http://ergoemacs.org/emacs/elisp_hash_table.html

(setq myHash
  #s(hash-table
     size 30
     test equal
     data (
           "joe" 3
           "jane" 9
           "liz" 5 )))



;; test
(gethash "joe" myHash ) ; 3

语录::test'等于是指定用来测试密钥存在的函数。

我还没有看到尺寸,但是假设它是最大尺寸,我尝试了一下就没有了,它对我有用(我只是静态需要它)。