Common lisp 有什么区别吗;至于;及;作为「;循环中的关键字宏?

Common lisp 有什么区别吗;至于;及;作为「;循环中的关键字宏?,common-lisp,Common Lisp,在Common Lisp中,在循环宏中,和以及as关键字的功能相同: (loop for i from 1 to 3 do (print i)) (loop as i from 1 to 3 do (print i)) 有没有什么细微的差别我错过了?如果没有,为什么还要麻烦使用两个不同但相同的关键字呢?: for和as关键字是同义词;它们可以互换使用。。。按照惯例,for引入新的迭代,as引入依赖于先前迭代规范的迭代 例如: 为什么 传统!:-) 而且,还有 “……计算机语言不仅仅是让计算机执

在Common Lisp中,在循环宏中,以及as关键字的功能相同:

(loop for i from 1 to 3 do (print i))
(loop as i from 1 to 3 do (print i))
有没有什么细微的差别我错过了?如果没有,为什么还要麻烦使用两个不同但相同的关键字呢?

for
as
关键字是同义词;它们可以互换使用。。。按照惯例,
for
引入新的迭代,
as
引入依赖于先前迭代规范的迭代

例如:

为什么

传统!:-)

而且,还有

“……计算机语言不仅仅是让计算机执行操作的一种方式,而是……它是表达方法论思想的一种新的正式媒介。” Abelson/Sussman“计算机程序的结构和解释”

瞧,我们写代码是为了让人们(包括6个月后的你们)阅读,而不仅仅是为了让计算机执行


让你的代码更具可读性的一切都是“公平的游戏”。

aa现在我脑子里一直想着“屋顶上的小提琴手”的歌。举个例子怎么样?@RainerJoswig:现在足够好了吗?或者你想从一个实际的项目中得到一个“阅读生活的例子”吗?@sds:不,这是一个非常好的例子。非常感谢。
(loop for x from 1 to 10
  as x2 = (* x x)
  as x4 = (* x2 x2)
  for y from 10 downto 1
  as y2 = (* y y)
  as y4 = (* y2 y2)
  sum (* x4 y4))