ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

lisp-do循环 - liyan

2026/8/7 6:57:30 拓冰建站 浏览量
lisp-do循环 - liyan
(do (variable-definition*)(end-test-form result-form*)statement*);

其中,(variable-definition*)是一些行日(var init next)的赋值结构。在do开始时,var会被赋值为init。并且在一次循环结束后,var会被赋值为next所表示的内容。
形如:

(do ((n 0 (+ 1 n))(cur 0 next)(next 1 (+ cur next)))((= 10 n) (format t "|end ~d" cur))(format t "~d|" cur));

输出:

0|1|1|2|3|5|8|13|21|34||end 55

类似于python中的:

cur = 0
next = 1
for i in range(10):print("%d|" % cur)cur, next = next, cur + next
print("|end %d" % cur)