Emacs 嵌入的`(引号…)`
我安装了一些主题,并将以下内容放入我的Emacs 嵌入的`(引号…)`,emacs,elisp,Emacs,Elisp,我安装了一些主题,并将以下内容放入我的$HOME/.emacs: (custom-set-variables ; Your init file should only contain one of these '(custom-safe-themes (quote ("ea489f6710a3da0738e7dbdfc124df06a4e3ae82f191ce66c2af3e0a15e99b90" "a8245b7cc985a0610
$HOME/.emacs
:
(custom-set-variables ; Your init file should only contain one of these
'(custom-safe-themes (quote ("ea489f6710a3da0738e7dbdfc124df06a4e3ae82f191ce66c2af3e0a15e99b90"
"a8245b7cc985a0610d71f9852e9f2767ad1b852c2bdea6f4aadc12cce9c4d6d0"
"8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4"
default)))
)
为什么在报价中有一个报价?这不是多余的吗
为什么在报价中有一个报价?这不是多余的吗
它不是多余的,因为它给出了不同的值;Lisp中的一般情况是(quote-foo)=>foo
,而(quote-foo))=>(quote-foo)
。所以引用和重复引用是不能互换的:一个是正确的,而另一个不是
在这种特殊情况下,有多个级别的评估,因此需要多层次的引用。外部引号防止在函数调用之前对参数进行正常求值,以便自定义设置变量
接收列表(自定义安全主题(引号(“ea489…”默认值))
这最终会传递给自定义主题集变量
,该变量在列表的第二个元素(引号(“ea489…”默认值))上调用eval
我试着删除(quote
和相应的paren,但仍然有效
这似乎可行,但这只是因为自定义设置函数捕捉到了错误。如果您选中*消息*
,您将看到设置自定义安全主题时出错:(无效函数ea489f6710a3da0738e7dbdfc124df06a4e3ae82f191ce66c2af3e0a15e99b90)
为什么在报价中有一个报价?这不是多余的吗
它不是多余的,因为它给出了不同的值;Lisp中的一般情况是(quote foo)=>foo
,而(quote(quote foo))=>(quote foo)
。因此引号和双引号不能互换:一个是正确的,另一个不是
在这种特殊情况下,有多个级别的求值,因此需要多个层次的引号。外部引号防止在函数调用之前对参数进行正常求值,以便自定义集变量
接收列表(自定义安全主题(引号(“ea489…”默认值))
)
这最终会传递给自定义主题集变量
,该变量在列表的第二个元素(引号(“ea489…”默认值))上调用eval
我试着删除(quote
和相应的paren,但仍然有效
这似乎可行,但这只是因为自定义设置函数捕捉到了错误。如果您选中*消息*
,您将看到设置自定义安全主题时出错:(无效函数ea489f6710a3da0738e7dbdfc124df06a4e3ae82f191ce66c2af3e0a15e99b90)
因为它计算值,并希望在发生这种情况时按字面意思处理。@Barmar我试图删除(引用
和相应的参数,它仍然有效。我不知道Emacs.stackexchange.com可能是一个更好的问这个问题的地方。它不是关于一般的编程,而是关于Emacs如何处理自定义设置。因为它计算值,并希望在发生这种情况时按字面意思处理。@Barmar我尝试删除它(quote
和相应的参数仍然有效。我不知道Emacs.stackexchange.com可能是一个更好的地方问这个问题。这不是一般的编程,而是关于Emacs如何处理自定义设置。编写”(“ea489…
与(quote)(“ea489…
?是的,'foo
始终与(quote foo)
相同。编写(“ea489…
与的工作原理相同(quote(“ea489…
”是的,'foo
始终与(quote foo)
相同。