(define-struct position (name numshares share-price))
(define p1
(cons (make-position "INT" 10 192) (cons (make-position "SSS" 4 42)
empty)))
mult
是我的辅助功能
(define (mult n)
( * (position-numshares n)
(position-share-price n)))
const 获取列表中的 position-numshares 和 position-share-price 并将它们相乘。
(define (const n)
(cond
[(empty? n) empty]
[(cons? n)
(+ (mult (first n))
)]))
我想做的是取列表中的第一个并将列表的其余部分加在一起。相反,我只得到列表中的第一个。所以如果我这样做 (const p1) 我只会得到 1920,但我想得到 2088 (10*192 + 4*42)。我试过重复其余的,但得到一个错误。我可能缺少一些简单的东西。帮助将不胜感激。