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