LISP 中的 do函数

首页 / LISP入门教程 / LISP 中的 do函数

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

DO语句的语法

(do ((variable1    value1   updated-value1)
      (variable2   value2   updated-value2)
      (variable3   value3   updated-value3)
   ...)
   (test return-value)
   (s-expressions)
)

计算每个变量的初始值并将其绑定到相应的变量,每个子句中的更新值对应于一个可选的UPDATE语句,该语句指定如何在每次迭代中更新变量的值。

无涯教程网

在每次迭代之后,将对测试进行判断,如果它返回非nil或true,则对返回值进行判断并返回。

最后一个s-expression是可选的,如果存在,它们将在每次迭代后执行,直到测试值返回TRUE为止。

do - 示例

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

(do ((x 0 (+ 2 x))
   (y 20 ( - y 2)))
   ((= x y)(- x y))
   (format t "~% x=~d  y=~d" x y)
)

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

x=0  y=20
x=2  y=18
x=4  y=16
x=6  y=14
x=8  y=12

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

白话法律42讲 -〔周甲徳〕

Nginx核心知识150讲 -〔陶辉〕

深入浅出计算机组成原理 -〔徐文浩〕

DDD实战课 -〔欧创新〕

编译原理实战课 -〔宫文学〕

编程高手必学的内存知识 -〔海纳〕

林外 · 专利写作第一课 -〔林外〕

AI大模型之美 -〔徐文浩〕

结构思考力 · 透过结构看问题解决 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)