当前位置: 首页 > 文档资料 > LISP 中文教程 >

循环

优质
小牛编辑
130浏览
2023-12-01

当您需要执行一段代码次数时,可能会出现这种情况。 循环语句允许我们多次执行语句或语句组,以下是大多数编程语言中循环语句的一般形式。

循环

LISP提供以下类型的构造来处理循环需求。 单击以下链接以检查其详细信息。

Sr.No.构造和描述
1loop

loop结构是LISP提供的最简单的迭代形式。 在最简单的形式中,它允许您重复执行一些语句,直到找到return语句。

2循环 for

构造循环允许您实现像其他语言中最常见的for循环之类的迭代。

3do

do构造还用于使用LISP执行迭代。 它提供了一种结构化的迭代形式。

4dotimes

dotimes构造允许循环一些固定数量的迭代。

5dolist

dolist构造允许迭代列表的每个元素。

优雅地从一个街区退出

blockreturn-from允许您在出现任何错误时从任何嵌套块中正常退出。

block函数允许您创建一个由零个或多个语句组成的主体的命名块。 语法是 -

(block block-name(
...
...
))

return-from函数采用块名称和可选(默认为nil)返回值。

以下示例演示了这一点 -

例子 (Example)

创建一个名为main.lisp的新源代码文件,并在其中键入以下代码 -

(defun demo-function (flag)
   (print 'entering-outer-block)
   (block outer-block
      (print 'entering-inner-block)
      (print (block inner-block
         (if flag
            (return-from outer-block 3)
            (return-from inner-block 5)
         )
         (print 'This-wil--not-be-printed))
      )
      (print 'left-inner-block)
      (print 'leaving-outer-block)
   t)
)
(demo-function t)
(terpri)
(demo-function nil)

单击“执行”按钮或键入Ctrl + E时,LISP立即执行它,返回的结果为 -

ENTERING-OUTER-BLOCK 
ENTERING-INNER-BLOCK 
ENTERING-OUTER-BLOCK 
ENTERING-INNER-BLOCK 
5 
LEFT-INNER-BLOCK 
LEAVING-OUTER-BLOCK