【问题标题】:Scheme let syntax errorScheme let 语法错误
【发布时间】:2011-12-23 19:17:32
【问题描述】:
(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)

我遇到了如上的错误,不知道是哪部分出错了

【问题讨论】:

    标签: scheme let


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-12
        • 2017-05-22
        • 2017-05-29
        • 1970-01-01
        • 1970-01-01
        • 2015-06-19
        • 2018-03-22
        • 2018-05-18
        相关资源
        最近更新 更多