首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Common Lisp:DO的空变量列表

Common Lisp是一种通用的、动态类型的、多范式的编程语言,它是Lisp家族中的一个实现。在Common Lisp中,DO是一个循环控制结构,用于执行一系列迭代操作。

DO的语法如下:

代码语言:txt
复制
(do (variable-clause* )
    (end-test-form result-form*)
  declaration*
  step-form*)

其中,variable-clause是一个变量子句,用于定义循环中的变量。end-test-form是一个表达式,用于测试循环是否应该终止。result-form是一个表达式,用于在循环结束时返回一个值。declaration是一个声明,用于定义变量的类型或其他属性。step-form是一个表达式,用于更新变量的值。

在DO循环中,变量子句可以包含一个或多个变量,每个变量可以有一个初始值和一个步长。例如,以下DO循环将从1到10迭代:

代码语言:txt
复制
(do ((i 1 (+ i 1)))
    ((> i 10) 'done)
  (print i))

在这个例子中,变量子句定义了一个变量i,初始值为1,步长为1。end-test-form测试i是否大于10,如果是,则循环结束。result-form返回一个值'done'。step-form将i的值加1。

空变量列表是指在DO循环中没有定义任何变量。在这种情况下,变量子句可以省略,只需要在循环中使用step-form来更新变量的值。例如,以下DO循环将打印1到10的数字:

代码语言:txt
复制
(do ()
    ((> i 10) 'done)
  (print i)
  (setf i (+ i 1)))

在这个例子中,变量子句被省略了,因此没有定义任何变量。在step-form中,我们使用setf函数来更新变量i的值。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券