这里是一些最近引入的函数的简要概述。
car
cdr
car
返回列表的第一个元素;cdr
返回列表的第二个及后续元素。
例如:
(car '(1 2 3 4 5 6 7)) ⇒ 1 (cdr '(1 2 3 4 5 6 7)) ⇒ (2 3 4 5 6 7)
cons
cons
通过将其第一个参数添加到其第二个参数前构造一个列表。
例如:
(cons 1 '(2 3 4)) ⇒ (1 2 3 4)
funcall
funcall
将其第一个参数作为函数求值,并将其余参数传递给其第一个参数。
nthcdr
返回在列表上对 CDR 进行 n 次操作的结果。 可以看作是“剩下的剩下”。
例如:
(nthcdr 3 '(1 2 3 4 5 6 7)) ⇒ (4 5 6 7)
setcar
setcdr
setcar
改变列表的第一个元素;setcdr
改变列表的第二个及后续元素。
例如:
(setq triple (list 1 2 3)) (setcar triple '37) triple ⇒ (37 2 3) (setcdr triple '("foo" "bar")) triple ⇒ (37 "foo" "bar")
progn
按顺序评估每个参数,然后返回最后一个的值。
例如:
(progn 1 2 3 4) ⇒ 4
save-restriction
记录当前缓冲区中生效的任何缩小范围,并在评估参数后恢复该缩小。
search-forward
搜索字符串,如果找到,移动点。使用正则表达式时,请使用类似的 re-search-forward
。(See 正则表达式搜索, 了解正则表达式模式和搜索的解释。)
search-forward
和 re-search-forward
需要四个参数:
nil
或错误消息。
kill-region
delete-and-extract-region
copy-region-as-kill
kill-region
剪切点和标记之间的文本,并将该文本存储在kill ring中,因此您可以通过粘贴将其取回。
copy-region-as-kill
将点和标记之间的文本复制到kill ring中,可以通过粘贴获取。该函数不会从缓冲区中删除文本。
delete-and-extract-region
从缓冲区中移除点和标记之间的文本并将其丢弃。您无法再获取它。 (这不是一个交互式命令。)