0
(define (rec base height)
  (let ((product (* base height))(half 0.5))
   (let ((sum (* product half)))
     (display "Area is")
     (display sum))))


let: expected only one expression after the name-defining sequence, but found one extra part in: (display sum)

我有上面的错误,我不知道哪个部分出错了

4

2 回答 2

3

在完整的方案中,这是允许的。但是,您可能正在使用 Racket 提供的 Scheme 的一种教学变体(例如中级学生或高级学生),它不允许具有多个表达式的函数。

我想说你可以通过使用来解决它begin,但中级学生不提供begin(高级学生似乎有帮助)。如果您使用的是中级学生,我想您只是不打算使用多个表达式,就是这样。:-)

于 2011-11-07T17:28:12.167 回答
0

初级和中级学生语言确实不适合使用 I/O 的程序。如果您的老师布置的问题要求您使用其中一种语言并且还要求您打印一些内容,那么这将是一个有点不合适的作业。

为了记录,我自己肯定会犯这样的错误......

于 2011-11-09T06:14:35.863 回答