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,则对返回值进行判断并返回。

链接:https://www.learnfk.comhttps://www.learnfk.com/lisp/lisp-do.html

来源:LearnFk无涯教程网

最后一个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

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

技术教程推荐

深入浅出gRPC -〔李林锋〕

React实战进阶45讲 -〔王沛〕

趣谈Linux操作系统 -〔刘超〕

WebAssembly入门课 -〔于航〕

程序员的个人财富课 -〔王喆〕

超级访谈:对话汤峥嵘 -〔汤峥嵘〕

现代React Web开发实战 -〔宋一玮〕

Python实战 · 从0到1搭建直播视频平台 -〔Barry〕

给程序员的写作课 -〔高磊〕

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