的循环顺序以下步骤是在这两个方案R6RS有效和球拍:方案/球拍:不做评价
;; create a list of all the numbers from 1 to n
(define (make-nums n)
(do [(x n (- x 1)) (lst (list) (cons x lst))]
((= x 0)
lst)))
我测试过这两个R6RS和球拍和它正常工作,但我只知道确实为DrRacket。
我的问题是如果它是保证该步骤表达式(在这种情况下(- x 1)
和(cons x lst)
)将按顺序进行评价。如果不能保证,那么我的程序不是很稳定。
我没有在任何一种语言的标准中看到任何特定的内容,但我在这里问,因为当我测试它时,它是按顺序排除的。
编辑:谢谢!这很有趣,我没有意识到“做”是这样工作的。 – Cam 2010-09-15 12:21:33