【发布时间】:2013-03-29 03:58:38
【问题描述】:
我一直在尝试通过“计算机程序的结构和解释”这本书来学习编程。为了做练习,我一直在使用 DrRacket(我找不到适用于 Windows 7 的方案解释器,而 DrRacket 似乎还不错),到目前为止还没有遇到任何问题。但是在做练习 1.22 时,我遇到了一个问题。我编写了一个程序,可以使给定数量 (n) 的素数更大比一个:
(define (search-for-primes a n)
(define (sfp-iter a n counter)
(cond ((and (prime? a) (= counter n))
((newline) (display "end")))
((prime? a)
((newline)
(display a)
(sfp-iter (+ a 1) n (+ counter 1))))
(else (sfp-iter (+ a 1) n counter))))
(sfp-iter a n 0))
该过程按预期工作,显示了它应该显示的所有内容,但在显示 end 后它显示以下错误消息:
应用程序:不是程序; 期望一个可以应用于参数的过程 给定:# 论据...: #
并突出显示以下代码行:
((newline) (display "end"))
有什么问题? (我为拼写错误道歉,所以英语不是我的母语,我也为任何格式或标记错误道歉,我是新来的)
【问题讨论】: