5
我刚开始学习Lisp和我似乎不明白下面的代码:如何在Common Lisp中追加工作?
(setf y (loop for x in y
for z = (something)
unless (condition for z)
append z))
凡ž附加?
我刚开始学习Lisp和我似乎不明白下面的代码:如何在Common Lisp中追加工作?
(setf y (loop for x in y
for z = (something)
unless (condition for z)
append z))
凡ž附加?
它附加到循环终止时返回的未命名列表。作为第一近似,你可能会认为它是对
(loop ... append z into result finally (return result))
这里的append
速记是一个循环关键字;它与append
函数无关,除了共享相同的名称---所以它是loop宏决定它如何工作,而不是append
函数。
每个迭代中的所有z都被附加并返回为一个列表... – 2010-11-07 15:52:34