gpt4 book ai didi

emacs - 在 Elisp 中将 alist 转换为/从常规列表转换?

转载 作者:行者123 更新时间:2023-12-04 13:27:27 25 4
gpt4 key购买 nike

鉴于 Lisp 中代码和数据的“一切皆有列表”的同义方法,我很难理解如何在 Emacs Lisp 中操作 alist。特别是,如何将 alist 转换为两个元素列表的普通列表,反之亦然?似乎 alists 是他们自己的一种特殊类型,不能像常规列表那样被操纵。

具体示例:我正在尝试在我的 .emacs 中绑定(bind)一个键。文件以使用程序生成的名称创建一定大小的框架,如下所示:

(make-frame '((name . "Blarg") (width . 80) (height . 24)))

只要“Blarg”是一个常量字符串,这就可以正常工作,但是由于 alist 开头的引号,我不能放置任何计算结果为字符串的代码来代替“Blarg”。我想做的是通过 cons 建立一个列表输入宽度和高度的符号和整数,然后 add-list把名字放在前面,然后把整件事传给 make-frame .但是如何将生成的数据结构转换为 alist?

具体如何获取 make-frame的答案做我想做的事当然会受到赞赏,但正如我的标题所示,我希望对如何操作 alists 并将它们转换为/从常规列表进行更一般的解释。

最佳答案

只是我在构建 alist 上的两分钱:

(pairlis '(name width height)
'("Blarg" 80 24))
;; => ((name . "Blarg") (width . 80) (height . 24))

关于emacs - 在 Elisp 中将 alist 转换为/从常规列表转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19774603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com