在某些情况下,您需要执行一段代码次数,循环语句使我们可以多次执行一个语句或一组语句,以下是大多数编程语言中循环语句的一般形式。
LISP提供以下类型的构造来处理循环需求。单击以下链接以查看其详细信息。
Sr.No. | Construct & 描述 |
---|---|
1 |
loop 以最简单的形式,它允许您重复执行某些语句,直到找到 return 语句。 |
2 |
loop for 循环for构造使您可以像其他语言中最常见的那样实现for循环,如迭代。 |
3 |
do do构造还用于使用LISP执行迭代。 |
4 |
dotimes dotimes构造允许循环进行一定数量的迭代。 |
5 |
dolist dolist构造允许迭代列表的每个元素。 |
block退出块
block 和 return-from 允许您在出现任何错误的情况下从任何嵌套的块中正常退出。
block 函数允许您创建一个包含零个或多个语句的主体的命名块。语法是-
(block block-name( ... ... ))
return-from 函数采用一个块名称和一个可选的(默认值为nil)返回值。
创建一个名为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
参考链接
https://www.learnfk.com/lisp/lisp-loops.html
标签:语句,教程,return,LISP,无涯,BLOCK,ENTERING,print,block From: https://blog.51cto.com/u_14033984/9233895