2017-06-14 54 views
0

這裏是一個代碼段:符號所生產實習生

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|。那麼,爲什麼會發生這種情況?

回答

2

(intern "foo")出現爲|foo|,因爲實習生區分大小寫。

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

2

請注意,不是符號的一部分。這只是一個用於轉義封閉符號的字符對。這可以確保讀取符號時使用字符的確切大小寫。