Scheme让语法错误

时间:2011-11-07 17:05:35

标签: scheme let

(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)

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

2 个答案:

答案 0 :(得分:3)

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

我说你可以使用begin解决这个问题,但是中级学生也不提供begin(高级学生似乎有帮助)。如果您正在使用中级学生,我想您不应该使用多个表达式,就是这样。 : - )

答案 1 :(得分:0)

初级和中级学生语言确实不适合使用I / O的程序。如果您的老师正在分配需要您使用这些语言之一的问题,并且还要求您打印出某些内容,那么这将是一个不太合适的任务。

为了记录,我当然会犯这样的错误......