循环
优质
小牛编辑
130浏览
2023-12-01
当您需要执行一段代码次数时,可能会出现这种情况。 循环语句允许我们多次执行语句或语句组,以下是大多数编程语言中循环语句的一般形式。
LISP提供以下类型的构造来处理循环需求。 单击以下链接以检查其详细信息。
Sr.No. | 构造和描述 |
---|---|
1 | loop loop结构是LISP提供的最简单的迭代形式。 在最简单的形式中,它允许您重复执行一些语句,直到找到return语句。 |
2 | 循环 for 构造循环允许您实现像其他语言中最常见的for循环之类的迭代。 |
3 | do do构造还用于使用LISP执行迭代。 它提供了一种结构化的迭代形式。 |
4 | dotimes dotimes构造允许循环一些固定数量的迭代。 |
5 | dolist dolist构造允许迭代列表的每个元素。 |
优雅地从一个街区退出
block和return-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