【发布时间】:2014-09-22 19:35:17
【问题描述】:
我尝试遵循this question 中提供的解决方案,但它根本不起作用。
基本上,我的函数是这样工作的:
(define (item-price size normal-addons premium-addons discount)
(define price 0)
(+ price (* normal-addon-cost normal-addons) (* premium-addon-cost premium-addons) size)
(cond
.. some conditions here
[else price]))
但是,我遇到了以下错误:
define: expected only one expression for the function body, but found 2 extra parts
现在,我尝试将函数体包装在“开始”中,但是在运行时它声称“开始”未定义。我使用的是初学者学生语言版本,而不是直截了当的球拍。对解决方法有任何见解吗?
【问题讨论】:
-
当心:
(+ price ...)行没有按照您的想象进行。它正在计算一个值,但该值丢失了,因为您没有分配它 -price的值没有被更新!
标签: scheme racket racket-student-languages