这是我正在创作的一些doco但......
我不确定点是什么'.' 扩展和模式之间的关系如下:
例如:关联*.mmd以markdown-mode:
      (setq auto-mode-alist (cons '("\\.mmd$" . markdown-mode) auto-mode-alist))
基本上有一个alist(关联列表/哈希表)被调用
 auto-mode-alist.那点扩展 - >到模式.扩展看起来像是一个正则表达式.
cons 是一个将元素预先挂起到列表的函数
setq 表示set quoted(为你引用auto-mode-list),否则不会分配给符号auto-mode-alist,而是分配给评估该符号的结果......不是你想要的;)
gee*_*aur 15
列表由Lisp中的较小部分构成.点符号表示那些较小的部分.
(a b c d e)                       ; a normal list
(a . (b . (c . (d . (e . nil))))) ; the same list in primitive form
表单(a . b)语法的项称为cons单元 ; a是汽车,b是CDr.(那些最后的术语来自用于将它们存储在小型机上的寄存器名称Lisp最初开发的,并且没有其他意义   .cons是"构造"的缩写.)   利用函数创建cons单元cons.请注意,前面列表的行为自然会超出列表的内部格式,如上所示,并且附加到列表中的行为cons将不会执行人们可能天真期望的行为.
Alist s是根据历史惯例简单的cons cons cell而不是完整列表,最初是为了速度.
Lin*_*cer 11
在lisp中,在低级别上,您可以使用简单值(数字或原子)或点对,也可以使用缺陷单元格.(让我们忽略像矢量这样的现代东西......).除此之外,(a b c)还构建了像列表这样的数据结构.
一个ALIST或缔列表,是一个普通的列表,其中每个元件本身(a,bet.c.)是点对.例如:
((foo . 10) (bar . 20))
您可以使用assq或搜索alist assoc,返回一对.您可以分别应用car并cdr获取该对的左侧或右侧部分.
一个简单的列表巧妙地构造在上面,因此(a b c)表示为(a . (b . (c . nil)))通常,人们不必知道这一点来理解alist:s,但内部打印机制有时会被抛出.具体地说,((foo . nil) (bar . 20))通常印刷为((foo) (bar . 20)).
| 归档时间: | 
 | 
| 查看次数: | 5212 次 | 
| 最近记录: |