<分区>
我刚看到 Sylwester 对 this question 的回答,我觉得很奇怪,循环到处都是冒号。
通常,我会写
(loop for n below 10 do (princ n) (terpri))
代替
(loop :for n :below 10 :do (princ n) (terpri))
经过一些测试,我发现在第一个循环中,符号 for
、below
和 do
是 cl-user 的一部分(edit : 其实不是do
,只有另外两个,可能是因为do
也是cl包里的一个宏),不是用第二个.同样,单独的 'X 将成为 cl-user 的一部分,而不是 ':X。 symbol-package
函数告诉我后者在关键字 package 中。
现在,没有冒号的第一个循环对我来说看起来更漂亮,所以我想知道前面的评论是否是使用第二个循环的充分理由。这些符号“包含”在当前包中看起来很无礼,但也许我忽略了后果。
有什么想法吗?