【问题标题】:Symbols Produced By Intern实习生制作的符号
【发布时间】:2017-11-16 01:43:51
【问题描述】:

这是一个代码sn-p:

CL-USER> (setf (symbol-value (intern "foo")) 98)
98
CL-USER> foo
; Evaluation aborted on #<UNBOUND-VARIABLE FOO {1003FC6213}>.
CL-USER> |foo|
98

intern 创建的符号在我创建的符号的前面和末尾都有一个"|"。但是在this answer 中,foo 被设置为符号的名称,而不是|foo|。那么,为什么会这样呢?

【问题讨论】:

    标签: lisp common-lisp symbols


    【解决方案1】:

    注意 ||不是符号的一部分。它只是用于转义封闭符号的字符对。这可确保在读取符号时使用字符的确切大小写。

    【讨论】:

      【解决方案2】:

      (intern "foo") 显示为 |foo|,因为实习生区分大小写。

      在您链接到的答案中看到(intern "FOO") 是大写的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-25
        • 2012-01-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多