(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)))
常量採取的立場,numshares和位置,股價在列表中,並在一起相乘。
(define (const n)
(cond
[(empty? n) empty]
[(cons? n)
(+ (mult (first n))
)]))
我想要做的是將列表中的第一個添加到列表的其餘部分。相反,我只得到名單的第一名。所以如果我這樣做(const p1),我只能得到1920,但我想得到2088(10 * 192 + 4 * 42)。我已經嘗試了其餘的循環,但得到一個錯誤。我可能錯過了一些簡單的東西。幫助將不勝感激。
@Josh有關褶皺的更多信息,你可以看看[這個回答關於壓扁列表(HTTP: //stackoverflow.com/a/19229532/1281433)和[這個關於比較值的答案](http://stackoverflow.com/a/19006055/1281433)。 (免責聲明:這些都是我的答案。) –