common-lisp 嵌套迭代

示例

特殊的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))))