11.1 while

特殊形式 while 用于测试通过评估其第一个参数返回的值是否为真或假。这类似于Lisp解释器对 if 的处理方式;然而,解释器接下来的操作有所不同。

while 表达式中,如果通过评估第一个参数返回的值为假,Lisp解释器将跳过表达式的其余部分(表达式的 主体)并不予以评估。然而,如果该值为真,则Lisp解释器将评估表达式的主体,然后再次测试 while 的第一个参数是真还是假。如果通过评估第一个参数返回的值再次为真,Lisp解释器将再次评估表达式的主体。

while 表达式的模板如下:

(while true-or-false-test
  body…)