符号所生产实习生

问题描述:

这里是一个代码段:符号所生产实习生

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|。那么,为什么会发生这种情况?

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

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

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