0
我剛剛問了一個類似的問題,並得到了我需要的答案,但他的時間我找不到任何會導致此錯誤的額外括號:「錯誤:(4 6 5 87 7)不是一個函數「。是否由於其他原因?我的代碼需要一個數字,如果它已經在列表中,它不會添加它。如果該列表尚未包含該號碼,則將其添加。計劃「錯誤:(4 6 5 87 7)不是函數」
(define (insert x ls)
(insertHelper x ls '() 0)
)
(define (insertHelper x ls lsReturn counter)
(cond
(
(and (null? ls) (= counter 0))
(reverse (cons x lsReturn))
)
(
(and (null? ls) (>= counter 1))
(reverse lsReturn)
)
(
(eqv? x (car ls))
(insertHelper x (cdr ls) (cons (car ls) lsReturn) (+ counter 1))
)
(
else ((insertHelper x (cdr ls) (cons (car ls) lsReturn) (+ counter 0)))
)
)
)
(define theSet (list 4 6 5 87))
(display theSet)
(display "\n")
(display (insert 7 theSet))
我通常做正確的縮進,但是我確實遭受了過多的括號哈哈。謝謝你的幫助奧斯卡! – Adam