gpt4 book ai didi

emacs - 如何在 Emacs Lisp 中评估引用表达式的一部分

转载 作者:行者123 更新时间:2023-12-04 23:59:32 26 4
gpt4 key购买 nike

假设我有一个函数返回一个带引号的列表,如下所示:

(defun create-structure (n l)
'(structure (name . n)(label . l)))

我希望函数返回:
(create-structure foo bar)
-> '(structure (name . foo)(label . bar))

相反,我得到了预期的结果:
-> '(structure (name . n)(label . l))

最佳答案

至少有两种方法可以实现这一点,使用反引号语法或对列表的显式调用。

(defun create-structure-1 (n l)
`(structure (name . ,n) (label . ,l)))

(defun create-structure-2 (n l)
(list 'structure (cons 'name n) (cons 'label l)))

GNU Emacs Lisp 引用提供了关于这个主题的很好的读物:
- http://www.gnu.org/software/emacs/manual/html_node/elisp/Backquote.html#Backquote

关于emacs - 如何在 Emacs Lisp 中评估引用表达式的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12331230/

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