【发布时间】:2014-12-11 10:41:16
【问题描述】:
我想知道在函数必须评估一系列 s 表达式的情况下,是否可以将 progn 替换为 and。
例子来自How To Design Programs (http://htdp.org/2003-09-26/Book/curriculum-Z-H-9.html#node_thm_6.6.12)
“开发draw-and-clear-rectangle,绘制一个矩形,休眠一会,然后清除矩形。”
(define (draw-and-clear a-rectangle)
(and (draw-solid-rect... )
(sleep-for-a-while... )
(clear-solid-rect... )))
由于和的参数是按顺序计算的,与使用 progn/begin 形式有什么区别吗?
【问题讨论】:
-
当其中一个子表单返回 NIL 时,Lisp 中大多数版本的 AND 将停止。 PROGN 将始终运行所有子表单,
标签: scheme lisp evaluation