(define-record-type car-ivars
(现场效率(罐中可变气体)))
(定义记录型汽车方法
(现场驾驶!在油箱中加油))
(定义加油 (lambda (cg) ((car-methods-refuel c) g)))
(定义get-gas-level
(lambda (c) ((car-methods-get-gas-in-tank c))))
(定义驱动器!
(lambda (c distance) ((car-methods-drive!c) distance)))
(定义制造汽车
(λ(效率)
(let ([car1 (make-car-ivars 效率 0)])
(让([设置气体级别!
(lambda (gas) (car-ivars-gas-in-tank-set!car1 gas))]
【气级
(lambda () ((car-ivars-gas-in-tank car1)))])
(制造汽车方法
;;驾驶!
(λ(距离)
(设置气体水平!
(- (get-gas-level)
(/效率距离)))
;;获取气体水平
(获取气体水平)
;;加油
(λ(气体1)
(设置气体水平!
(+ (get-gas-level) gas1)))))))))
好的,所以我有这个代码。当我尝试运行我的测试用例时
(定义混合动力(制造汽车 50))我得到一个
例外:#procedure 构造函数的参数数量不正确错误。而且我不太确定它来自哪里。