gpt4 book ai didi

elisp - Emacs Lisp : evaluate variable in alist

转载 作者:行者123 更新时间:2023-12-03 10:23:25 25 4
gpt4 key购买 nike

这可能很愚蠢,但我没有足够的 Elisp 知识来了解引用和评估方面的情况。

假设我有这个 Elisp 代码:

(add-to-list 'default-frame-alist '(width . 100))
(add-to-list 'default-frame-alist '(height . 50))

它将导致预期的 default-frame-alist 值:
((height 50)
(width 100))

但是现在如果我有这个:
(setq my-frame-width 100)
(setq my-frame-height 50)
(add-to-list 'default-frame-alist '(width . my-frame-width))
(add-to-list 'default-frame-alist '(height . my-frame-height))

这会导致——
((height my-frame-height)
(width my-frame-width))

并且,从框架几何形状来看,从不评估这些变量。如何使 my-frame-width 和 height 的实际值出现在此列表中?我有太多的报价吗?但我无法从添加到列表的评估中删除任何...

最佳答案

尝试这个:

(setq my-frame-width 100)
(setq my-frame-height 50)
(add-to-list 'default-frame-alist `(width . ,my-frame-width))
(add-to-list 'default-frame-alist `(height . ,my-frame-height))

使用反引号代替引用允许您使用 , 强制对参数进行评估。

请参阅 Elisp 引用手册。输入 C-x info,搜索 elisp 引用手册,然后在其中搜索反引号。

关于elisp - Emacs Lisp : evaluate variable in alist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1664202/

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