Lisp - dolist 结构



dolist 构造允许迭代列表的每个元素。

语法

(dolist (n list)
   statement1
   ...
)
  • n - 列表项。

  • list - 要迭代的列表。

  • statement1 - 要计算的语句。

示例 - 打印列表的所有元素

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

main.lisp

; perform a dolist operation on list of numbers
(dolist (n '(1 2 3 4 5))
   (print n) ; print the number
)

输出

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

1
2
3
4
5

示例 - 数字的三次方

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

main.lisp

; perform a dolist operation on list of numbers
(dolist (n '(1 2 3 4 5))
   (print n) (prin1 (* n(* n n))) ; print the qube of number
)

输出

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

1 1
2 8
3 27
4 64
5 125

示例 - 数字的两倍

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

main.lisp

; perform a dolist operation on list of numbers
(dolist (n '(1 2 3 4 5))
   (print n) (prin1 (+ n n)) ; print double of number
)

输出

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

1 2
2 4
3 6
4 8
5 10
lisp_loops.htm
广告