这里是一些最近引入的函数的简要概述。
carcdrcar 返回列表的第一个元素;cdr 返回列表的第二个及后续元素。
例如:
(car '(1 2 3 4 5 6 7))
⇒ 1
(cdr '(1 2 3 4 5 6 7))
⇒ (2 3 4 5 6 7)
conscons通过将其第一个参数添加到其第二个参数前构造一个列表。
例如:
(cons 1 '(2 3 4))
⇒ (1 2 3 4)
funcallfuncall 将其第一个参数作为函数求值,并将其余参数传递给其第一个参数。
nthcdr返回在列表上对 CDR 进行 n 次操作的结果。 可以看作是“剩下的剩下”。
例如:
(nthcdr 3 '(1 2 3 4 5 6 7))
⇒ (4 5 6 7)
setcarsetcdrsetcar 改变列表的第一个元素;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-regiondelete-and-extract-regioncopy-region-as-killkill-region 剪切点和标记之间的文本,并将该文本存储在kill ring中,因此您可以通过粘贴将其取回。
copy-region-as-kill 将点和标记之间的文本复制到kill ring中,可以通过粘贴获取。该函数不会从缓冲区中删除文本。
delete-and-extract-region 从缓冲区中移除点和标记之间的文本并将其丢弃。您无法再获取它。 (这不是一个交互式命令。)