巢狀迭代

特殊的 LOOP NAMED foo 語法允許你建立一個可以提前退出的迴圈。退出使用 return-from 執行,可以在巢狀迴圈中使用。

以下使用巢狀迴圈在 2D 陣列中查詢複數:

(loop named top
      for x from 0 below (array-dimension *array* 1)
      do (loop for y from 0 below (array-dimension *array* 0))
               for n = (aref *array* y x)
             when (complexp n)
               do (return-from top (values n x y))))